3

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

这真让我抓狂。

任何人?

4

2 回答 2

2

在调用方法“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);
于 2013-04-11T06:21:12.303 回答
0

看看我是如何在Android 2.3 wifi 热点 API上实现这一点的。

于 2012-05-12T10:06:51.597 回答