1

是否可以使用狀態欄通知中的startActivityForResult()?startActivityForResult()選擇通知

假設我有一個活動A,它在某些事件中使用startActivityForResult()啓動活動B.現在,當它在後臺,在事件顯示通知。現在選擇通知,我如何開始活動B的結果?

我知道活動A應該有一個在後臺運行的服務,但我想即使在這種情況下也會應用相同的問題。

下面是通知的代碼。這是活動A.

Notification notification = new Notification(R.drawable.ic_launcher, "New Notification", System.currentTimeMillis()); 

    notification.flags = Notification.FLAG_AUTO_CANCEL; 
    CharSequence contentTitle = "My Notification Title"; 
    CharSequence contentText = "My Notification Text"; 
    Intent notificationIntent = new Intent(this, ActivityB.class); 

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

    notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent); 

    nm.notify(1, notification); //1 = id 
+1

如果它處於通知中,哪個活動會得到結果?考慮通知不屬於該活動創建它。 – kingston 2012-04-08 08:12:44

+0

@herschel通知是從Activity A創建的,所以我認爲Activity A會在onActivityResult()方法中得到結果。無論如何,這是錯的嗎? – Alabhya 2012-04-08 10:24:51

+0

是的,我認爲這是錯誤的。活動A可能不在那裏了。 – kingston 2012-04-08 21:42:35

回答

3

我認爲當通過打開通知打開活動B並且關閉後,您應該從活動B開始活動A. 您可以傳遞返回值以用於從活動B啓動活動A的意圖。

1

不使用startActivityForResult。您可以通過不同的方式實現相同的功能。 將結果作爲額外的通知傳遞給您。在活動B的onResume中獲得此結果。

相關問題