我有一個活動具有以下特殊性質表現活動通過的PendingIntent叫得到自動銷燬
<activity
android:name=".LightUp"
android:excludeFromRecents="true"
android:launchMode="singleInstance"
android:noHistory="true"
android:process=":listener"
android:taskAffinity="" >
</activity>
設置這個活動裏面,我在安排AlarmManager使用此的PendingIntent調用本身在某個時間之後。 AlarmManager是必要的,因爲電話會在屏幕上顯示此活動時進入睡眠狀態,而且我不想持有喚醒鎖。
pendingIntent = PendingIntent.getActivity(this, 10,
new Intent(this, LightUp.class)
.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT),
PendingIntent.FLAG_UPDATE_CURRENT);
所以,當報警經理火災,我得到了新的意圖,onNewIntent()功能如常。這意味着即將進行同樣的活動。 問題是在onNewIntent後活動被破壞。即使我在onNewIntent絕對沒有代碼,我可以從日誌中看到,onDestroy無論如何都會被調用。
所以問題是爲什麼Destroy被調用?我能做些什麼來保持活動運行?
「當用戶離開它時」---我敢打賭,這意味着當onPause被調用時。所以是的,onPause在onNewIntent之前自動調用,這就是我猜測的原因 – anandbibek