在Android API 26及更高版本上设置HotSpot属性

时间:2017-11-06 10:02:28

标签: android hotspot ssid

从API 26开始,有新方法可以打开/关闭HotSpot,startLocalOnlyHotspot

但我不能再设置SSID和安全密钥了。另一个问题是“startLocalOnlyHotspot”在每次调用时都会更改SSID和preSharedKey,因此用户几乎不可能每次都在其他设备上设置新的SSID和密钥。

我注意到,当以编程方式启用HotSpot时,如果用户打开HotSpot活动,HotSpot将在几秒钟后关闭,如果用户从HotSpot Wifi设置活动重新启用HotSpot,它将使用旧配置(在我更新设备之前的旧配置) Android 8,我尝试以编程方式设置相同的配置。)

1 个答案:

答案 0 :(得分:-1)

创建WifiConfiguration对象并设置所有相关属性。

WifiConfiguration wifiCon = new WifiConfiguration();
wifiCon.SSID = "ssip";
wifiCon.preSharedKey = "Sharedpassword";
wifiCon.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
wifiCon.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
try
{
    Method setWifiApMethod = wm.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
    boolean apstatus=(Boolean) setWifiApMethod.invoke(wm, wifiCon,true);
} 
catch (Exception e) 
{
    Log.e(this.getClass().toString(), "", e);
}

快乐的编码!!