我遇到了有趣的意圖工作流程處理。 我創建了一個通知如下:Android onCreate()未通知通知
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.abc_textfield_search_default_holo_dark).setContentTitle("Мероприятие изменилось")
.setContentText(eventToShow.valueAt(i).name + " " + eventToShow.valueAt(i).date).setAutoCancel(true);
Intent resultIntent = new Intent(context, MainActivity.class);
resultIntent.putExtra(MainActivity.NOTIFICATION_EVENT_DISPLAY, eventToShow.valueAt(i).id);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context,0,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotifyMgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotifyMgr.notify(eventToShow.valueAt(i).id, mBuilder.build());
當notificataion被趕到的用戶,我想到的是,當他點擊它MainActivity.class會處理這個意圖。 我在MainActivity.onCreate()
內處理有關意向的信息。
如果我點擊我的應用程序外部的通知,一切都會好的。活動正確處理這個意圖並顯示我的預期。
但是當我點擊通知裏面我的應用程序沒有新的instanse我的MainActivity.class
和onCreate()
不是射擊。我認爲它會被創建新的實例MainActivity.class
你能解釋我這是一個默認的行爲,我應該如何處理這種情況?
測試我的應用後,我找到下一個。主動 - >獲取通知 - >關閉應用程序 - >打開應用程序(MainActivity) - >按通知 - >通知按預期打開MainActivity的新實例。
二)MainActivity - >得到通知 - >按通知 - >任何反應
嘗試與其他標誌未決的意圖,也許PendingIntent.FLAG_CANCEL_CURRENT 或者你可以在意向Intent.FLAG_ACTIVITY_NEW_TASK設置標誌。這應該在創建時觸發。 – 2014-08-28 08:41:48
你可以用'getIntent()'在'onResume()'中獲得'intent'嗎? – 2014-08-28 08:44:35
@BobanS。嘗試了這兩個想法,但'Activity.onCreate()'不是射擊。 – Anatol 2014-08-28 08:46:06