2012-10-26 44 views
1

我正在尋找一些定時器替代方案,因爲定時器隨應用程序而死,是有限的,並且每個定時器都會啓動自己的線程。有時我需要啓動大約20-30個定時器。Android定時器替代

我需要設置一些事件,及時和顯示應用程序屏幕。可能嗎?

+1

我想你應該使用Alarmmanager。 Doc在這裏http://developer.android.com/reference/android/app/AlarmManager.html和教程在這裏http://justcallmebrian.com/?p=129 –

+0

如果你發佈答案我會接受它,雖然兩者的答案讓我滿意。 – Drake29a

回答

1

您應該使用AlarmManager

由於CommonsWare說它有一些限制,但這沒關係,如果用戶強制關閉你的應用程序,這意味着他不想使用你的應用程序(不再需要或由於內存類型)。 ..

而且我有一個解決方案(但可能不是最好的),因爲如果用戶強制關閉您的應用程序,則無法偵聽,所以一種方式是您可以在應用程序的每次啓動時重新安排事件。我知道這不是一個好的解決方案,但.....我們還沒有任何其他方式

這是good example

1

根據您對「與應用程序同時使用」的定義,這可能也可能不可能。

您可以使用AlarmManager安排PendingIntents在將來的特定時間調用。那些PendingIntents可以啓動活動。如果你的應用程序因普通原因「死亡」,這將工作。

但是:

  • 如果通過設置用戶強制關閉您的應用程序,你的報警計劃外,並沒有什麼可以做,以阻止這種(也不您有任何替代AlarmManager,不知怎的倖存下來)

  • 請允許用戶確定您是否在這些時間顯示活動或籌集Notification,因爲用戶可能不一定會感激您的遊戲,導航,視頻或電話被您的活動中斷。

+0

我不會向用戶發送垃圾郵件,他可以禁用此功能。當應用程序退出「後退」或電話重新啓動時,AlarmManager會發生什麼情況? – Drake29a

+1

當用戶退出時,它將起作用。但是當重新啓動時這不起作用。你必須重新安排所有事件。 –