为什么Alarm Manager仅在30分钟内更新?

时间:2013-12-19 12:21:32

标签: android alarmmanager

我想制作一个每秒更新(更多电池消耗)或最小(更少电池消耗)的小部件。

我跟在this thread

中一样

,但每30分钟只运行一次。

我配置了一旦onUpdate运行,它会在1分钟内更新 onReceived每30分钟运行一次。

谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:2)

根据我的经验AlarmManager不能很好地(或根本不会),间隔小于1分钟。除了:

  

注意:警报管理器适用于您想要的情况   即使您的应用程序,您的应用程序代码也会在特定时间运行   目前没有运行。对于正常的计时操作(刻度,   超时等)使用Handler更容易,效率更高。

此外:

  

注意:从API 19(KITKAT)开始,警报传递是不准确的:操作系统   将移动警报以最小化唤醒和电池使用。那里   是支持需要严格交付的应用程序的新API   担保;请参阅setWindow(int,long,long,PendingIntent)和   setExact(int,long,PendingIntent)。应用程序   targetSdkVersion早于API 19将继续看到   以前的行为,其中所有警报都在何时传递   请求。

答案 1 :(得分:0)

您没有做错任何事情,小部件服务确实每30分钟(最少)更新一次。

要使其更新速度更快,您需要使用AlarmManager或您自己的应用程序来调用该服务。与soulreaver回答不同,报警管理器的工作时间不到1分钟。