我有一项名为MainActivity的活动。此活动会启动一个通知,该通知具有打开此MainActivity的PendingIntent。
因此,要关闭应用程序,我必须单击两次后退按钮。我想将活动设置为单身人士。我试图将singleInstance或singleTask设置为manifest但这不起作用。
答案 0 :(得分:17)
singleInstance
和singleTask
不建议用于一般用途。
尝试:
android:launchMode="singleTop"
有关详细信息,请参阅活动元素文档的launchMode section。
除了之前的参考文献,您还应该阅读tasks and back stack
答案 1 :(得分:5)
如果您需要在不创建活动新实例的情况下返回应用程序,则可以使用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相同,因此将显示之前打开的活动而不是创建新活动。