3
我有一個使用下面的代碼創建通知的活動:從已經打開的活動中收到通知的意圖?
Notification notification = new Notification(icon,
tickerText, 0);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Context context = getApplicationContext();
CharSequence contentText = getString(R.string.subtitle);
Intent notificationIntent = new Intent(getBaseContext(),
MainActivity.class);
notificationIntent.putExtra("num", Integer.toString(i));
Intent deleteIntent = new Intent(getBaseContext(),
DeleteActivity.class);
deleteIntent.putExtra("num", Integer.toString(i));
PendingIntent contentIntent = PendingIntent.getActivity(
getBaseContext(), ran, notificationIntent, 0);
PendingIntent deletePendingIntent = PendingIntent
.getActivity(getBaseContext(), ran, deleteIntent, 0);
notification.setLatestEventInfo(context, text, contentText,
contentIntent);
notification.deleteIntent = deletePendingIntent;
final int NOTIF_ID = ran;
mNotificationManager.notify(NOTIF_ID, notification);
我一直都是從我的應用程序當前顯示通知的列表。
當通知被點擊時,它會打開MainActivity。我在onResume()中有一些代碼從列表中刪除通知。這工作正常。
當通知被解除時,它會觸發DeleteActivity,它也會從我的列表中刪除它。這也很好。
問題是,如果MainActivity已經打開,並且通知被單擊,onResume()不會再次運行,所以通知不見了,但它不會從應用程序認爲的通知列表中刪除正在展示。
我想知道是否有什麼辦法可以在收到意圖時執行特定的代碼段(或者甚至只是重新啓動整個活動)。我知道我可以將它設置爲使用DeleteActivity,但我寧願讓它打開MainActivity。
謝謝,這似乎工作。 – Liam
很高興我能幫到你。 –