问题描述
- android中alarmManager无法正常唤醒Service
-
先说明一下情况,我在做一个app,需要后台保持发送心跳包。由于锁屏后CPU休眠,导致心跳包线程被挂起,所以我尝试使用alarmManager定时唤醒Service发送心跳包。
以下是我开启alarmManager的代码
结果遇到了很奇怪的问题
传入的时间是2500,也就是每2.5秒一次
在红米1s (系统是CM12.1 android5.1.1)上,亮屏(非休眠)状态下它要好几十秒才会唤醒一次,锁屏(休眠)就不会唤醒了
在小米4(系统是MIUI7 android4.4.4)上,亮屏状态下正常,锁屏状态下就不会唤醒了
我尝试了BroadcastReceiver重写onReceive,也试过Service重写onStartCommand,都是一样的情况
请问有什么好的解决方法么?
解决方案
目前的android程序里把唤醒统一处理了,为了省电,像你这样的心跳包建议不要用,程序运行时发送就行了,切到后台就不要发送了
时间: 2024-09-16 15:02:26