2011-09-20 58 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,先前打开的活动将被显示的,而不是创建一个新的。