当顶部有另一个活动时,不会调用onNewIntent()

时间:2015-04-20 20:58:52

标签: android

当我在其上面有另一个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);

有人知道可能出现什么问题吗?

谢谢!

2 个答案:

答案 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:taskAffinityFLAG_ACTIVITY_NEW_TASK

答案 1 :(得分:1)

验证是否为接收Intent的Activity设置了正确的启动模式。在其包中将launchMode设置为“singleTop”,或者在调用FLAG_ACTIVITY_SINGLE_TOP时客户端使用startActivity(Intent)标记。