1
我的应用中的MainActivity在清单文件中定义了launchMode
的singleTop
。每当我点击一个通知我的MainActivity被重新创建,旧的实例被销毁。 MainActivity是可见的,并且在点击通知时处于前景,所以我会假定意图将被传递给当前实例的onNewIntent()
,但这种情况从未发生过。这里是意图创建:使用launchMode singleTop或singleTask的活动总是被重新创建
Intent resultIntent = new Intent(App.getInstance(), MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(App.getInstance());
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = PendingIntent.getActivity(App.getInstance(), 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
我有时添加FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
的意图,像这样:
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
我也使用singleTask
launchMode也与这些标志和相同的行为尝试已经发生了。有人能够就此行为提供一些见解吗?
非常感谢,这工作。我也不需要在意图上设置任何标志。 –