使用“setWifiApEnabled”启用wifi-hotspot时无法设置“WifiConfiguration”

问题描述 投票:2回答:2

我正在尝试使用之前在此处看到的代码将我的Android设备设置为Access-Point:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = "MyAccessPoint";

Method method = wifi.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
method.invoke(wifi, netConfig, true);

现在,我设法打开它,但没有我在WifiConfiguration中设置的SSID。

这真让我抓狂。

任何人?

android wifi wifimanager
2个回答
0
投票

看看我是如何在Android 2.3 wifi hotspot API工作的。


0
投票

在调用方法“setWifiApEnabled”之前,您需要调用“getWifiApConfiguration”来获取默认的WifiConfiguration 然后更改SSID和密码,然后使用修改后的WifiConfiguration调用“setWifiApConfiguration”,然后调用“setWifiApEnabled” 这是守则。

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

getWifiConfig = wifi.getClass().getMethod("getWifiApConfiguration",null);
WifiConfiguration myConfig = (WifiConfiguration) getWifiConfig.invoke(wifi,null);

myConfig.SSID = "Hello World";

setWifiConfig = wifi.getClass().getMethod("setWifiApConfiguration",WifiConfiguration.class);
setWifiConfig.invoke(wifi,new Object[]{myConfig,true});

enableWifi = wifi.getClass().getMethod("setWifiEnabled",WifiConfiguration.class,boolean.class);
enableWifi.invoke(wifi,null,true);
© www.soinside.com 2019 - 2024. All rights reserved.