Android - 周期性地从待机模式中唤醒?

4

我有一个应用程序需要定期向服务器发送心跳信号,但当手机进入待机模式时,后台心跳线程会停止运行。是否有办法在程序中唤醒手机,发送心跳信号,然后再次让手机进入休眠状态?如果可能的话,我想避免使用PARTIAL_WAKE_LOCK。

谢谢


为什么手机休眠时需要发送心跳包?这听起来会极大地消耗电池。 - Cheryl Simon
听起来你需要设置一个服务而不是使用线程。 - Hans
1个回答

5
有没有办法在程序中将手机从待机状态唤醒,发送心跳后再让其休眠?
使用带有_WAKEUP样式的AlarmManager。这里是一个演示如何使用它(与WakefulIntentService一起使用可以确保在网络I/O期间设备不会回到睡眠状态)的示例项目
我想尽可能避免使用PARTIAL_WAKE_LOCK。
如果没有WakeLock,就无法进行网络I/O,因为设备会在I/O期间回到睡眠状态。使用AlarmManager,您可以安排仅在实际处理心跳工作时保持WakeLock,而不是100%的时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接