我有一个在10分钟后在后台断开BLE连接的应用程序。
当应用程序连接到Debbuger时,如果设备在前台运行时被锁定,则一切正常,如果在10分钟后连接将被断开,但是如果在应用程序处于前台时将其断开连接并锁定设备,则连接超时后不会被丢弃。
设备锁定时,后台执行是否有一些限制?连接到Debbuger时为什么能工作?
答案 0 :(得分:1)
使用Foreground中的服务创建牢固的连接,这是最佳选择。 但是,如果启用了省电模式或其他电池优化模式,则即使是前台服务也无济于事。 是的,调试器可以防止应用被系统杀死,实际上不是由调试器而是由ADB连接杀死。有时在未插入USB的情况下测试您的应用程序。 还可以在服务中使用PowerManager.WakeLock,它会有所帮助。