问题:
我要求我的设备启用其Wifi,但不应连接到网络。
尝试:
wifiManager.disconnect();
wifiManager.enableNetwork(-1, true);
特定的兴趣点是enabledNetwork(-1, true);
声明:
public boolean enableNetwork(int netId, boolean disableOthers) {
我的代码与当前网络断开连接,但在短暂的一段时间后,自动配置并连接到最喜欢的网络,从而忽略了disableOthers
功能。
我做了一些搜索,我找到了:
wifiManager.getWifiState();
真棒!我们在WifiManager
类中找到一个常量:
public static final int WIFI_MODE_SCAN_ONLY = 2;
这正是我想要的,但是,我该如何实现呢?
TL; DR:我要求我的Wifi处于仅扫描模式,这意味着它不应该连接到任何网络,而是保持扫描。
答案 0 :(得分:0)
在设备空闲时不确定您是否正在寻找某些东西。如果是,您可能想尝试wifilocks。 其目的是即使设备处于空闲状态,也能保持wifi模块处于活动状态(类似于CPU的唤醒锁)。
所以你create一个,而不是致电acquire()。此时,在调用release()之前,wifi模块不会被关闭。如果您之前断开了与网络的连接,文档建议它不会自动连接(当锁定保持且设备空闲时)。
注意:文档未正确定义的实际行为可能取决于设备。
或者,您可以继续断开与此类网络的连接: android-how-to-disconnect-from-a-wifi-network