android - 每天第一次运行命令/服务

标签 android timer alarmmanager

我正在为 Android 编写一个简单的 Widget,它显示每天变化的信息。所以小部件需要在午夜刷新。整个刷新作为服务实现并运行良好,问题是调用:

我找到的唯一解决方案是使用 AlarmManager 在每天午夜添加一个准确的重复计时器。然后获取部分唤醒锁,以确保设备保持唤醒状态并运行代码。这应该可以按预期工作,但由于使用了唤醒锁,我正在唤醒设备,因此我正在寻找更薄的版本:

无需在午夜准确唤醒设备,如果我在新的一天设备第一次再次启动时收到计时器事件就足够了。如果设备处于休眠状态,则没有人可以查看小部件,因此只要设备再次打开小部件就会更新就可以了。

换句话说:如何在设备未处于休眠状态的一天的第一刻运行服务,从而防止唤醒?我仍然需要设备在一段时间内保持清醒。

如何做到这一点?

最佳答案

您可以告诉 AlarmManager 延迟您的调用,直到设备无论如何都被唤醒。 然后不要在中使用唤醒锁。

关于android - 每天第一次运行命令/服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7189133/

相关文章:

android - 如何在eclipse中导入github库

android - Row的内容独立可点击区域

multithreading - 使用 System.Threading.Timer 连续 Azure WebJob

多个实例运行时的计时器(例如云)

android - java.lang.SecurityException : ! @Too many alarms (500) 从 pid 10790 uid 10206 注册

android - 取消之前设置的闹钟

java - Gplus 用户身份验证和在同一 Activity 中获取用户位置

java - 监控网络带宽的问题

c - c语言socket编程中接收数据时如何实现定时器

Android:如何从预定的闹钟启动服务?