Chr*_*vey 22 android android-wake-lock android-bluetooth
我正在开发一个在后台运行的Android应用程序,并支持蓝牙配件.我想在后台不断听取蓝牙设备尝试打开手机插座.我的问题是,是否有可能在不经常保留部分唤醒锁的情况下实现这一点,因为这显然会产生严重的电池后果.所以我想知道的是蓝牙对手机入睡的影响.打开蓝牙插座时手机是否保持清醒状态?如果设备尝试连接,蓝牙芯片是否会自动唤醒Android?我试图做一些测试来回答这些问题,但是很难找出唤醒锁发生的事情.另外,我不知道我是否可以依赖于我观察到的行为或者是否可以在其他设备上进行更改.
Sta*_*mer -3
如果存在打开的蓝牙套接字,手机不会保持唤醒状态;如果设备尝试连接,蓝牙芯片也不会唤醒 Android。通常有一个后台线程正在运行以接受开放端口上的连接,一旦设备尝试连接,该线程就会读取连接,从传入设备获取某种身份验证(我假设有一个安全协议来接受任何新的传入连接),并且一旦传入连接经过身份验证,就会创建/通知一个独立的线程来处理与该线程的后续信息交换。
因此,后台进程会消耗一些电量和电池电量,并且它还负责保持 Android 部分唤醒(部分作为后台进程,您始终可以控制它检查传入连接的频率)。通常这个后台进程并不总是运行,它仅在 Android 中打开蓝牙时运行。因此,您还可以创建一个线程,仅当 Android 中的蓝牙打开时才运行,否则它应该休眠。
| 归档时间: |
|
| 查看次数: |
4672 次 |
| 最近记录: |