我需要让我的应用程序自动连接到特定SSID
的密码.我正在尝试这个,但这就是我得到的:
错误:
非静态方法addNetwork(WifiConfiguration)不能从静态上下文中引用
错误:
非静态方法enableNetwork(int,boolean)不能从静态上下文中引用
final WifiManager wifiManager = (WifiManager) MainActivity.this.getSystemService(Context.WIFI_SERVICE); final WifiConfiguration config = new WifiConfiguration(); config.SSID = "\"xxx\""; config.preSharedKey = "\"123\""; if (!wifiManager.isWifiEnabled()){ wifiManager.setWifiEnabled(true); int networkId = WifiManager.addNetwork(config); WifiManager.enableNetwork(networkId, true); }
Behnam.. 5
调用wifiManager对象enableNetwork()
上的函数,而不是类.WifiManager
小心:w字母应该是小写的.
做同样的事情addNetwork()
.
在您的清单中添加以下权限:
对于WPA,请更新您的配置,如下所示:
config.status = WifiConfiguration.Status.ENABLED; config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
在行下方添加以下wifiManager.setWifiEnabled(true)
行:
wifiManager.startScan();
如果您需要其他帮助,请阅读此问题和本文.祝好运.
调用wifiManager对象enableNetwork()
上的函数,而不是类.WifiManager
小心:w字母应该是小写的.
做同样的事情addNetwork()
.
在您的清单中添加以下权限:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
对于WPA,请更新您的配置,如下所示:
config.status = WifiConfiguration.Status.ENABLED; config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
在行下方添加以下wifiManager.setWifiEnabled(true)
行:
wifiManager.startScan();
如果您需要其他帮助,请阅读此问题和本文.祝好运.