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

时间:2011-08-28 15:00:11

标签: android wifi wifimanager

我正在尝试使用之前在此处看到的代码将我的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。

这让我发疯了。

任何?

2 个答案:

答案 0 :(得分:0)

了解我如何在Android 2.3 wifi hotspot API开展工作。

答案 1 :(得分: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);