【发布时间】:2012-06-11 14:39:45
【问题描述】:
我需要 android 应用程序在一天中的特定时间执行某些操作,例如在晚上 8:00 应用程序应该注销。我不想使用AlarmManager,因为即使应用程序没有运行它也会触发。如果手机被关闭的时间表分散器重新启动。 Handler 带有 Runnable 会非常好,但如果手机进入休眠状态,它就不起作用。 所以我需要的是:
-
应用程序在指定时间做某事(保存在首选项中)
-
只有当应用程序正在运行并登录时才会发生这种情况(即使手机处于睡眠状态)
你有什么建议?
已编辑:
此外,这个任务应该等到应用程序结束它的其他工作(发送、接收数据),如果只在特定活动中执行(比如 home 或 main ,其他工作没有执行)会更好
【问题讨论】:
-
奇怪的请求,您可能想添加更多您正在尝试做的事情,因为恐怕这仍然像是一个 AlarmManager 的工作。您可以使用 boot-intent 重置警报,使异议无效。您的建议的问题是您需要一些类似于警报管理器的东西(服务?),但不是警报管理器。听起来更多的努力是值得的。也许使用管理器,但检查应用程序是否正在运行?