Har*_*oun 2 android wifimanager android-wifi
我需要让我的应用程序自动连接到特定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);
}
Run Code Online (Sandbox Code Playgroud)
调用wifiManager对象enableNetwork()上的函数,而不是类.WifiManager
小心:w字母应该是小写的.
做同样的事情addNetwork().
在您的清单中添加以下权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)
对于WPA,请更新您的配置,如下所示:
config.status = WifiConfiguration.Status.ENABLED;
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
Run Code Online (Sandbox Code Playgroud)
在行下方添加以下wifiManager.setWifiEnabled(true)行:
wifiManager.startScan();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9399 次 |
| 最近记录: |