如果用戶在我的活動處於前臺時重新啓動手機,手機重新啓動後,活動將自動再次彈出。我不希望發生這種情況,因爲我傳遞給活動的額外數據都沒有保存,所以活動沒有正確的顯示。防止在手機啓動時重新啓動活動?
顯然,即使在我的BroadcastReceiver啓動了android.intent.action.BOOT_COMPLETED
意向過濾器之前,活動也已啓動。
我該如何去阻止手機啓動時自動啓動的活動?
編輯:我在我的活動過濾器中使用了android.intent.category.HOME
類別,這顯然是它在重新啓動時啓動的原因。
Android中的任何內容都不會在重新啓動時自動重新啓動您的活動,除非它是主屏幕。無論是你的主屏幕正在這樣做,或者你正在這樣做 - 而不是Android。 – CommonsWare 2012-08-09 15:55:44
啊哈!那是問題的一部分。我爲這個活動使用了類別'android.intent.category.HOME'。有沒有辦法在啓動之前在重新啓動時禁用此活動,或者檢查它是否由於手機重新啓動而在活動內部啓動? 「 – 2012-08-09 15:57:41
」我對此活動使用類別android.intent.category.HOME「 - 然後您是主屏幕,並且如果用戶將您設置爲默認主屏幕,則您應*重新啓動時啓動。 「有什麼辦法可以在啓動前重新啓動時禁用這個活動」 - 我想你可以嘗試監聽ACTION_SHUTDOWN廣播,然後使用PackageManager和setComponentEnabledSetting()來禁用活動......但是,將來需要重新啓用它。 – CommonsWare 2012-08-09 16:03:58