Android 销毁和创建现有活动的通知

Android 销毁和创建现有活动的通知,android,Android,我的通知应该是启动一个活动,或者如果活动已经打开(在屏幕上),则只显示该活动。通知所做的是销毁该活动,然后再次创建它,即使该活动已经出现在屏幕上 我搜索了解决方案,他们说要将android:launchMode=“singleTop”添加到清单中的活动中,但这没有效果,只要用户单击通知,活动仍然会被销毁并重新创建 这是通知在单击时启动活动的方式: Intent resultIntent = new Intent(this, MyActivity.class); TaskStackBuilder

我的通知应该是启动一个活动,或者如果活动已经打开(在屏幕上),则只显示该活动。通知所做的是销毁该活动,然后再次创建它,即使该活动已经出现在屏幕上

我搜索了解决方案,他们说要将
android:launchMode=“singleTop”
添加到清单中的活动中,但这没有效果,只要用户单击通知,活动仍然会被销毁并重新创建

这是通知在单击时启动活动的方式:

Intent resultIntent = new Intent(this, MyActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MyActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = 
    stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent); 
// mBuilder is NotificationCompat.Builder()

不可能。文档清楚地说明了“如果活动的实例已经存在于目标任务的顶部,系统将通过调用其onNewIntent()方法将意图路由到该实例,而不是创建活动的新实例。”我已经反复使用了这一点。再次检查您是否已将
MyActivity
启动模式设置为
singleTop

更换该行

PendingIntent resultPendingIntent = 
stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);


我有。我是说仔细检查过。我想知道这是否与扰乱TaskStackBuilder有关(它在Android开发者网站上,作为一种使后退按钮指向通知打开的应用程序的父活动的方式)。我确认存在这种行为,FFS,Android中一如既往地发生了什么。以前单顶在Android中工作得很好这太疯狂了!但当单击通知时,活动是重新创建的
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0,Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);