我正在将以下意图与通知一起使用,问题是,如果当前活动与意图相同,则什么也不会发生。如何使用新数据打开相同的活动?
intent = new Intent(context, PackViewActivity.class);
intent.putExtra("pid", pack_id);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
以下是清单中的详细信息:
<activity
android:name=".PackViewActivity"
android:configChanges="orientation|keyboardHidden|screenLayout|screenSize"
android:launchMode="singleTask"/> //I've also tried singleInstance with no success.
当前,除非当前活动为,否则一切正常PackViewActivity
。在这种情况下,什么也不会发生。
就像提到的@Vivek一样,使用Intent.FLAG_ACTIVITY_CLEAR_TOP
并删除Intent.FLAG_ACTIVITY_CLEAR_TASK
。现在,如果您的活动已经在运行,则将在中传递新的意图onNewIntent()
。那是您应该放入意图阅读代码的地方。另外,请摆脱android:launchMode
您的活动清单描述,因为它带来了很多问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句