使用AlarmManager我的應用程序設置的報警器關閉,如果如何,如果應用程序是力的Android
- 強制用戶關閉我的應用程序的設置將被清除復位報警。
- 一些任務殺手應用程序自動殺死我的應用程序進程。
- 由於前端應用需要內存,Android本身殺死了我的應用。
請告訴我如何檢測它?而是如何設置我的鬧鐘,以便所有這些情況都不會影響我的鬧鐘。
使用AlarmManager我的應用程序設置的報警器關閉,如果如何,如果應用程序是力的Android
請告訴我如何檢測它?而是如何設置我的鬧鐘,以便所有這些情況都不會影響我的鬧鐘。
用戶強制在設置中關閉我的應用程序。
是的,這將清除報警。
有些任務殺手級應用自動殺死我的應用程序的過程。
這不會對任何最新版本的Android尚不清楚報警。
的Android本身殺了我的應用程序,因爲對前面的應用程序需要的內存。
這不會清除報警。
請告訴我,我怎麼發現的呢?
保持最後一次發生報警的時間(例如,在SharedPreferences
)。當您的代碼運行時(例如,LAUNCHER
活動已啓動),請檢查最後一次鬧鈴時間。如果很久以前,你知道你的警報已被清除,所以你需要重新安排它們。
而是如何設置我的警報,以便所有這些情況下不會影響我的警報。
這是不可能的。在很少情況下,報警實際上被清除(重新啓動和強制停止),並且在這些情況下,您無法做到防止您的報警被清除。
@CommonsWare正如你所說的那樣「很少有情況下報警實際上被清除(重新啓動和強制停止),並且在這種情況下你不能做任何事情來防止你的報警被清除。
但我覺得都可以處理:
重啓:意向行動android.intent.action.BOOT_COMPLETED
強制關閉:如果應用程序使用某些服務器通信可以被處理,在那裏你可以集成GCM如果它死了,它最終可能會啓動你的應用程序。 作爲的onReceive:
final Intent notificationIntent = new Intent(context, YourActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
來啓動應用程序。
讓我知道,如果我錯了。
謝謝commonsware,爲完整和煞費苦心的答案! –
如果用戶清除應用程序的數據會怎麼樣?我們不會追蹤記錄嗎? – Krishnaraj
@Krishnaraj:是的。希望你的用戶不這樣做。 – CommonsWare