gpt4 book ai didi

Android 打瞌睡模式 - 蓝牙

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:40 26 4
gpt4 key购买 nike

我的问题很简单。我想知道什么是我的应用程序的最佳实践,以便它可以“防打瞌睡”。随着 Android N 将在更多情况下应用 Doze,这变得更加相关。

阅读时Doze Documentation有一部分提到网络访问:

In Doze mode, the system attempts to conserve battery by restricting apps' access to network and CPU-intensive services. It also prevents apps from accessing the network and defers their jobs, syncs, and standard alarms.

我认为蓝牙属于网络访问,对吗?

由于我没有支持 Marshmallow(或 Android N)的设备,并且模拟器不允许蓝牙交互,因此我无法真正测试我的应用程序在打瞌睡模式下的行为。

打盹模式会终止任何正在进行的蓝牙连接吗?这同样适用于蓝牙经典和 LE 吗?带蓝牙 A2DP 的耳机怎么样?

我的应用必须保持此连接,否则核心功能将被破坏。

当然,对于这种情况,您的设备也需要连接到蓝牙远程设备,只要用户愿意,也有一些异常(exception)情况。

我知道存在一个打瞌睡白名单,但在某些情况下,它似乎不会让应用程序像在 API 23 以下的设备上那样运行。

感谢您的帮助!

最佳答案

看起来打瞌睡对蓝牙本身没有任何限制,但要做任何有意义的事情,您需要保持 CPU 开启,并且在更深的打瞌睡中忽略唤醒锁。

如果这是您应用的核心功能,您可以尝试让用户使用 whitelist你的应用程序。这可以授予 partial wake locks并保持 CPU 开启。

Foreground services也不受任何打瞌睡限制,因此这是另一种透明方式。

关于Android 打瞌睡模式 - 蓝牙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956260/

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