我是应用程序开发的初学者,非常感谢您的帮助!
我有一个连接到BLE设备并连接到前台服务的应用程序,该服务收集BLE设备提供的数据。前台服务已绑定到活动。
问题是,当用户最小化应用程序/按首页并锁定手机,然后过一会儿(5-10分钟)后,服务始终暂停还是睡眠/打ze睡? (也许是整个应用程序?)。
从Android Profiler:CPU始终保持约20-30%,内存为160MB,然后在暂停/睡眠后降为0。
我在BluetoothGattCallback.onCharacteristicChanged上有日志,每次BLE设备发送数据以检查服务是否仍处于活动状态时都会调用该日志。该应用程序在后台运行几分钟后,此日志记录停止。当我恢复该应用程序时,原本在“空闲时间”期间发送的数据会同时泛洪(也缺少我认为的某些数据)。这是一个问题,因为我需要记录数据到达的时间,并且数据流不应中断。 (被称为handler.postDelayed方法,该方法在单独的线程中运行,该线程无限计数以检查服务是否正在停止或App istelf。此方法也停止记录。)
我尝试了以下解决方案,但没有一个起作用:
仅使用Vivo 1811和华为电话进行了测试。
我对此完全迷失了,任何帮助将不胜感激!非常感谢你!