在Android中以编程方式启动5ghz wifi热点

时间:2019-03-31 19:33:34

标签: android wifi bandwidth hotspot access-point

在Android中似乎没有公共API可以管理WIFI热点。

有些解决方案具有反射性,而其他解决方案似乎没有答案

  

如何配置5Ghz WiFi热点?

我想在两个均支持5GHz频段的android设备之间使用5GHz本地热点网络实现更快的文件传输。

ShareIt之类的第三方应用程序可以在“超快速模式”中启用5GHz热点

1 个答案:

答案 0 :(得分:0)

Android对于Android版本> = Oreo具有公开的公开API startLocalOnlyHotspot

它需要Manifest.permission.CHANGE_WIFI_STATEACCESS_FINE_LOCATION权限。

这是一个简单的示例,说明如何使用此API打开热点。

private WifiManager wifiManager;
WifiConfiguration currentConfig;
WifiManager.LocalOnlyHotspotReservation hotspotReservation;

打开热点的方法:

@RequiresApi(api = Build.VERSION_CODES.O)
public void turnOnHotspot() {

      wifiManager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {

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

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

          hotspotDetailsDialog();

        }

        @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());
    }

然后您可以使用currentConfig对象获取热点的详细信息。作为参考,您可以查阅我的answer