gpt4 book ai didi

android - 在 sleep 模式下检查 wifi 网络信号

转载 作者:行者123 更新时间:2023-11-30 04:36:20 24 4
gpt4 key购买 nike

我的目标是能够扫描 Wi-Fi 网络的变化(主要是检查哪些网络可用)。正确知道我正在通过注册接收者来做到这一点:

registerReceiver(wifiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));

WifiReceiver 是我的 BroadcastReceiver

问题是它只有在手机开机时才能工作。一旦进入休眠模式(通过按下电源按钮或一段时间后),接收器就会停止接收。我已经在我的主类的 onCreate 中获得了一个唤醒锁,并在 onDestroy 中释放了它(这是一个部分唤醒锁)。另外我试过这个:

Settings.System.putInt(getContentResolver(),Settings.System.WIFI_SLEEP_POLICY, Settings.System.WIFI_SLEEP_POLICY_NEVER);

防止 wifi 休眠。不幸的是,这没有帮助。

即使手机处于 sleep 状态,是否有可能扫描网络变化?我希望能够检查哪些网络在范围内(通过 SSID)。也许我应该使用其他操作?

感谢您的帮助。

最佳答案

从字面上看,不,通常不会设计硬件,也不会编写低级驱动程序以允许 wifi 在应用程序 CPU 处于 sleep 模式时运行 - 与旨在接收推送事件的移动网络接口(interface)不同电话、短信和 Gmail 让人“痒痒”。

因此,您的选择是要么设法成功阻止设备休眠(再见电池),要么使用闹钟定期唤醒、激活 wifi 并轮询情况(仍然不利于电池生命周期,但不如非常如此)。

关于android - 在 sleep 模式下检查 wifi 网络信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com