Android Can';“t集”;WifiConfiguration“;使用“启用wifi热点时”;setWifiApEnabled“;

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

我正在尝试使用我在这里看到的代码将我的Android设备设置为接入点:

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设备。