我正在寻找一些计时器替代品,因为计时器随着应用程序而死,受到限制,并且每个计时器都会启动自己的线程。有时我需要启动大约 20-30 个计时器。
我需要及时设置一些事件,以及何时显示应用程序屏幕。是否可以?
这可能会也可能不会,具体取决于您对“应用程序死亡”的定义。
您可以使用AlarmManager
来安排PendingIntents
在未来的特定时间被调用。那些PendingIntents
可以发起活动。如果您的应用程序因普通原因“死亡”,这将起作用。
然而:
如果用户通过“设置”强制关闭您的应用程序,您的警报将被取消,您无法阻止此操作(您也没有任何替代方法可以在此情况下AlarmManager
幸存下来)
请允许用户确定您是否Notification
在这些时间显示活动或提出 a,因为用户可能不一定喜欢他们的游戏、导航、视频或电话被您的活动打断。
您应该使用 AlarmManager。
正如 CommonsWare 所说,它有一些限制,但没关系,如果用户强制关闭您的应用程序,则意味着他不想使用您的应用程序(更多或由于某种内存)......
而且我有一个解决方案(但可能不是最好的),因为如果用户强制关闭您的应用程序,您将无法倾听,因此一种方法是您可以在每次启动应用程序时重新安排您的事件。我知道这不是一个好的解决方案,但是.....我们还没有其他方法
这是一个很好的例子。