Android Can';“t集”;WifiConfiguration“;使用“启用wifi热点时”;setWifiApEnabled“;
我正在尝试使用我在这里看到的代码将我的Android设备设置为接入点:Android Can';“t集”;WifiConfiguration“;使用“启用wifi热点时”;setWifiApEnabled“;,android,wifi,wifimanager,Android,Wifi,Wifimanager,我正在尝试使用我在这里看到的代码将我的Android设备设置为接入点: WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiConfiguration netConfig = new WifiConfiguration(); netConfig.SSID = "MyAccessPoint"; Method method = wifi.getClass().getMethod("setWifi
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
这让我快发疯了
有人吗?看看我是如何做到这一点的。在调用方法“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);
我不是这方面的专家,但你检查过你的清单了吗?@Kerubu是的,你是对的,这可能就是问题所在@FLEXpert尝试在清单中添加
CHANGE\u WIFI\u STATE
CHANGE\u WIFI\u MULTICAST\u STATE
和ACCESS\u WIFI\u STATE
权限。我似乎记得自己也遇到过一些这样的问题,还隐约记得读到过这样一篇文章:如果应用程序没有正确的权限,android会自动失败,因此程序员们会被蒙在鼓里!好的,我终于设法更改了SSID,但不是在HTC Phone上。您最终是如何更改SSID的?谢谢您的解决方案。我在开发过程中观察到一件事。这不适用于HTC设备。