WifiEnabled无需连接到网络

时间:2016-06-14 22:10:56

标签: java android networking wifi

问题:

我要求我的设备启用其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处于仅扫描模式,这意味着它不应该连接到任何网络,而是保持扫描。

1 个答案:

答案 0 :(得分:0)

在设备空闲时不确定您是否正在寻找某些东西。如果是,您可能想尝试wifilocks。 其目的是即使设备处于空闲状态,也能保持wifi模块处于活动状态(类似于CPU的唤醒锁)。

所以你create一个,而不是致电acquire()。此时,在调用release()之前,wifi模块不会被关闭。如果您之前断开了与网络的连接,文档建议它不会自动连接(当锁定保持且设备空闲时)。

注意:文档未正确定义的实际行为可能取决于设备。

或者,您可以继续断开与此类网络的连接: android-how-to-disconnect-from-a-wifi-network