首页 > 解决方案 > 为什么应用程序关闭时本地热点正在关闭

问题描述

在 API 26 之后,android 发布了startLocalOnlyHotspot启动本地热点。

我在我的 android 应用程序中将这个本地热点用于设备 >=Oreo。我面临的问题是,只要应用程序可见,它就可以正常工作,但是在应用程序关闭后,热点就会关闭。在极少数情况下,即使应用程序不可见,热点也不会关闭。这是我用来启动本地热点的代码。

 //Workaround to turn on hotspot for Oreo versions
  @RequiresApi(api = Build.VERSION_CODES.O)
  public void turnOnHotspot() {
    if (!oreoenabled) {
      wifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {

        @Override
        public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
          super.onStarted(reservation);
          hotspotReservation = reservation;
          currentConfig = reservation.getWifiConfiguration();

          Log.v("DANG", "THE PASSWORD IS: "
              + currentConfig.preSharedKey
              + " \n SSID is : "
              + currentConfig.SSID);

          hotspotDetailsDialog();

          oreoenabled = true;
        }

        @Override
        public void onStopped() {
          super.onStopped();
          Log.v("DANG", "Local Hotspot Stopped");
        }

        @Override
        public void onFailed(int reason) {
          super.onFailed(reason);
          Log.v("DANG", "Local Hotspot failed to start");
        }
      }, new Handler());

我查看了日志,但不知道为什么会发生这种情况。理想情况下,当热点关闭时,它应该进入onStopped()回调,但在应用程序关闭时它不会(并且热点无缘无故关闭)。

标签: androidhotspot

解决方案


推荐阅读