我有一个需要向服务器发送定期心跳的应用程序,但是当手机进入待机模式时,背景心跳线程就会消失。无论如何都要将手机从待机状态唤醒,发送心跳然后以编程方式返回睡眠状态?我想尽可能避免使用PARTIAL_WAKE_LOCK。
由于
答案 0 :(得分:4)
无论如何都要将手机从待机状态唤醒,发送心跳然后再回去睡觉 编程?
将AlarmManager
与_WAKEUP
式闹钟一起使用。以下是a sample project说明了它的使用(以及您想要的WakefulIntentService
,以确保设备在您的网络I / O期间不会重新入睡。)
如果可能,我想避免使用PARTIAL_WAKE_LOCK。
如果没有WakeLock
,您将无法进行网络I / O,因为设备将在I / O期间重新入睡。使用AlarmManager
,您可以安排在实际心跳工作期间仅持有WakeLock
,而不是100%的时间。