开发者社区> 问答> 正文

android中alarmManager无法正常唤醒Service

先说明一下情况,我在做一个app,需要后台保持发送心跳包。由于锁屏后CPU休眠,导致心跳包线程被挂起,所以我尝试使用alarmManager定时唤醒Service发送心跳包。
以下是我开启alarmManager的代码
screenshot
结果遇到了很奇怪的问题
传入的时间是2500,也就是每2.5秒一次
在红米1s (系统是CM12.1 android5.1.1)上,亮屏(非休眠)状态下它要好几十秒才会唤醒一次,锁屏(休眠)就不会唤醒了
在小米4(系统是MIUI7 android4.4.4)上,亮屏状态下正常,锁屏状态下就不会唤醒了
我尝试了BroadcastReceiver重写onReceive,也试过Service重写onStartCommand,都是一样的情况
请问有什么好的解决方法么?

展开
收起
爵霸 2016-06-01 14:04:50 4943 0
1 条回答
写回答
取消 提交回答
  • 目前的android程序里把唤醒统一处理了,为了省电,像你这样的心跳包建议不要用,程序运行时发送就行了,切到后台就不要发送了

    2019-07-17 19:23:12
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载