Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WifiLock WIFI\u模式\u仅扫描\u不工作_Android_Wifi_Wifimanager - Fatal编程技术网

Android WifiLock WIFI\u模式\u仅扫描\u不工作

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

我正试图阻止wifi连接。我希望我的应用程序打开wifi,但不连接到智能手机上已存储的任何网络。但即使在我使用“只扫描”模式后,他仍继续连接到已经“知道”的网络

在绝望中,我尝试在之后断开连接,以确保状态为WIFI\u state\u ENABLED WIFI。应用程序在几秒钟内无法连接,但在一段时间后,它会以相同的方式连接到网络

    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();     
}