Android Activity单例

Cec*_*oCQ 11 singleton android android-activity

我有一个名为MainActivity的活动.此活动将启动一个通知,该通知具有打开此MainActivity的PendingIntent.

因此,要关闭应用程序,我必须单击两次后退按钮.我想将活动设置为单身人士.我试图将singleInstance或singleTask设置为manifest但这不起作用.

Mer*_*lin 18

singleInstance并且singleTask不建议用于一般用途.

尝试:

 android:launchMode="singleTop"
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Activity元素文档的launchMode部分.

除了之前的参考,您还应该阅读任务和后台堆栈


GrA*_*And 5

如果您需要在不创建活动的新实例的情况下返回应用程序,则可以使用与Android在启动应用程序时使用的相同的intent过滤器:

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);
Run Code Online (Sandbox Code Playgroud)

由于您从通知栏创建的用于打开活动的意图与用于启动应用程序的android相同,因此将显示先前打开的活动而不是创建新活动.