2011-09-20 95 views
9

我有一個名爲MainActivity的活動。此活動將啓動一個具有可打開此MainActivity的PendingIntent的通知。Android Activity singleton

因此,要關閉應用程序,我必須點擊後退按鈕兩次。我想建立單身人士的活動。我試圖設置singleInstance或singleTask來顯示,但這不起作用。

回答

15

singleInstancesingleTask不建議用於一般用途。

嘗試:

android:launchMode="singleTop" 

欲瞭解更多信息,請參閱活動元素文檔的launchMode section

除了先前的參考,你也應該閱讀tasks and back stack

4

如果您需要返回到您的應用,而無需創建活動的新實例,您可以爲Android的啓動應用程序時使用使用相同的意圖過濾器:

final Intent notificationIntent = new Intent(context, MainActivity.class); 
notificationIntent.setAction(Intent.ACTION_MAIN); 
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

當您創建,打開從通知欄的活動的意圖是一樣的用於啓動應用的Android,先前打開的活動將被顯示的,而不是創建一個新的。