我正在为 Android 编写一个简单的 Widget,它显示每天变化的信息。所以小部件需要在午夜刷新。整个刷新作为服务实现并运行良好,问题是调用:
我找到的唯一解决方案是使用 AlarmManager
在每天午夜添加一个准确的重复计时器。然后获取部分唤醒锁,以确保设备保持唤醒状态并运行代码。这应该可以按预期工作,但由于使用了唤醒锁,我正在唤醒设备,因此我正在寻找更薄的版本:
无需在午夜准确唤醒设备,如果我在新的一天设备第一次再次启动时收到计时器事件就足够了。如果设备处于休眠状态,则没有人可以查看小部件,因此只要设备再次打开小部件就会更新就可以了。
换句话说:如何在设备未处于休眠状态的一天的第一刻运行服务,从而防止唤醒?我仍然需要设备在一段时间内保持清醒。
如何做到这一点?
最佳答案
您可以告诉 AlarmManager 延迟您的调用,直到设备无论如何都被唤醒。 然后不要在中使用唤醒锁。
关于android - 每天第一次运行命令/服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7189133/