Android WifiLock WIFI\u模式\u仅扫描\u不工作
我正试图阻止wifi连接。我希望我的应用程序打开wifi,但不连接到智能手机上已存储的任何网络。但即使在我使用“只扫描”模式后,他仍继续连接到已经“知道”的网络 在绝望中,我尝试在之后断开连接,以确保状态为WIFI\u state\u ENABLED WIFI。应用程序在几秒钟内无法连接,但在一段时间后,它会以相同的方式连接到网络Android WifiLock WIFI\u模式\u仅扫描\u不工作,android,wifi,wifimanager,Android,Wifi,Wifimanager,我正试图阻止wifi连接。我希望我的应用程序打开wifi,但不连接到智能手机上已存储的任何网络。但即使在我使用“只扫描”模式后,他仍继续连接到已经“知道”的网络 在绝望中,我尝试在之后断开连接,以确保状态为WIFI\u state\u ENABLED WIFI。应用程序在几秒钟内无法连接,但在一段时间后,它会以相同的方式连接到网络 wifiManager.setWifiEnabled(true); .... WHEN (WIFI STATE == WIFI_STATE_E
wifiManager.setWifiEnabled(true);
....
WHEN (WIFI STATE == WIFI_STATE_ENABLED)
{wifiManager.disconnect();
scanOnly.acquire();}
有人能帮我吗?
Tks一种方法是获取所有存储网络的列表,然后禁用它们。您可能希望将其状态存储在某个位置,以便在完成后恢复初始状态。WifiLock不适用于此。仅适用于“允许应用程序保持Wi-Fi收音机处于唤醒状态”。这并不禁止任何人连接到wifi。只说“我希望至少能在睡眠模式下做到这一点”。 你必须按照上面说的做:获取所有存储网络的列表,然后在BroadcastReceiver中禁用wifi
@Override
public void onReceive(Context c, Intent intent) {
saveWifiList(mainWifi.getScanResults());
unregisterReceiver(this);
mainWifi.setWifiEnabled(false);
showWifiList();
}
我忘了告诉你:你可以使用
enableNetwork(int-netId)
和disableNetwork(int-netId)
@Override
public void onReceive(Context c, Intent intent) {
saveWifiList(mainWifi.getScanResults());
unregisterReceiver(this);
mainWifi.setWifiEnabled(false);
showWifiList();
}