当我在其上面有另一个onNewIntent()
时,似乎没有调用我的MainActivity的Activity
,如果我关闭第二个Activity
它会被调用就好了,它&# 39;与顶部的另一个Activity
一样阻止消息?清单中的Activity
都设置为singleTop,我从通知中设置Intent
:
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
有人知道可能出现什么问题吗?
谢谢!
答案 0 :(得分:2)
您可能已经搜索过谷歌 - 有很多关于为什么不调用onNewIntent的问题。
这可能取决于您正在进行测试的Android版本,但您可以尝试在您的意图中添加Intent.FLAG_ACTIVITY_SINGLE_TOP
标记 - 即使您在清单中加上Intent.FLAG_ACTIVITY_CLEAR_TOP
。
intent.setFlag(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
这将删除您要启动的活动上方的活动。
但是,如果你的目的是让两个活动保持活跃,并在它们之间切换,那么请查看android:taskAffinity和FLAG_ACTIVITY_NEW_TASK
。
答案 1 :(得分:1)
验证是否为接收Intent的Activity设置了正确的启动模式。在其包中将launchMode
设置为“singleTop
”,或者在调用FLAG_ACTIVITY_SINGLE_TOP
时客户端使用startActivity(Intent)
标记。