我正在寻找一些计时器替代方案,因为计时器与app一起死亡,是有限的,并且每个计时器都会启动自己的线程。 有时我需要启动大约20-30个计时器。
我需要及时设置一些活动,当它显示应用程序屏幕时。有可能吗?
答案 0 :(得分:1)
根据您对“使用应用程序死亡”的定义,这可能会也可能不会成为可能。
您可以使用AlarmManager
来安排在将来的特定时间调用PendingIntents
。那些PendingIntents
可以发起活动。如果你的应用程序“死于”普通原因,这将有效。
然而:
如果用户通过“设置”强行关闭您的应用,您的闹钟会被取消预定,并且您无法阻止此操作(也没有任何替代AlarmManager
以某种方式幸存下来)
请允许用户确定您是否在这些时间显示活动或提升Notification
,因为用户可能不一定会欣赏他们的游戏,导航,视频或电话被中断你的活动。
答案 1 :(得分:1)
您应该使用 AlarmManager。
由于CommonsWare表示存在一些限制,但没关系,如果用户强制关闭您的应用程序,则意味着他不想使用您的应用程序(更多或由于某种内存)... 。
我有一个解决方案(但可能不是最好的),因为如果用户强制关闭您的应用程序,您无法收听,因此一种方法是您可以在每次启动应用程序时重新安排活动。我知道这不是一个好的解决方案,但是......我们还没有其他方法
这是good example。