2012-10-20 42 views
0

啓動一個活動的多個實例我想從BroadcastReceiver創建活動的多個實例,該活動包含一個AlertDialog,目前我使用下面的代碼用於此目的:從廣播接收器

意向意圖=新意圖(this,MultipleInstanceActivity.calss); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent);

,並在清單文件android:launchMode="standard"我總覺得這FLAG_ACTIVITY_NEW_TASK導致android:launchMode="standard"更改爲android:launchMode="singleInstance"什麼的。我無法創建此活動的多個實例。我也試過用FLAG_ACTIVITY_MULTIPLE_TASK,但沒用。 我創建了一個PreferenceActivity,真正讓我感到困惑的是,當這個PreferenceActivity打開時,我的應用程序創建了多個對話框,即具有不同數據的多個實例。但是,當它沒有打開,我的應用程序不會創建多個實例只是爲了清楚,它不會打開另一個對話框。 Logcat不會給出任何警告或錯誤。

我的問題: 1.如何從BroadcastReceiver創建一個活動的多個實例。 2.有人可以解釋我在第二種情況發生了什麼,PreferenceActivity之一,爲什麼它創建多個實例?

謝謝

+2

你能解釋一下你爲什麼要啓動多個活動?一次只能看到一個,所以我不明白你的目標是什麼。 – Ralgha

+0

基本上它是一個簡單的應用程序,使創建顯示文字信息內容的對話框,現在我需要多個實例,因爲如果我收到一個短信,由於某種原因,我無法讀取它,它應該創造出的內容的另一個對話框新的活動。只有當PreferenceActivity打開時纔會發生這種情況。 –

+0

Doest有道理。新活動將成爲另一項活動,而不是當前活動的另一個實例。 – smk

回答

2

我遇到同樣的問題,因爲你在這裏,我同時使用FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_MULTIPLE_TASK解決它。

Intent intent = new Intent(context, YourActivityClass.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); 
context.startActivity(intent); 

希望這對你也有效。