该应用已SplashActivity
正常启动并通过深层链接启动。在以后的情况下,SplashActivity
会创建Intent
,从深层链接设置数据,然后启动MainActivity
。 MainActivity
检查数据,并对正常启动和深层链接启动采取不同的行为。
当我启用“不要保留活动”并通过深层链接启动应用程序时,当我转到后台并返回MainActivity
时,会使用深层链接意图重新创建它。
我尝试使用Intent
和onDestroy
修改onSaveInstanceState
和removeExtra
中的setIntent
,但是当我转到后台并返回时,意图仍然是来自deeplink的相同,额外的仍然存在。我还尝试检查LAUNCHED_FROM_HISTORY
的意图标志,但是当我调试时,app标志每次都是0。
我不需要该应用程序的行为就像它从历史记录启动时使用deeplink启动的那样。在这种情况下是否可以保留意图修改?
答案 0 :(得分:-1)
你需要在onPause中修改你的意图,你在onPause之后所做的一切都不会被保存,你甚至可以考虑在你使用它之后修改你的意图以建立你的深层链接,我想这也会有用
答案 1 :(得分:-1)
在onCreate
阻止中,尝试删除您发送给活动的Intent
中的深层链接键
int flags = getIntent().getFlags();
if ((flags & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) {
// The activity was launched from history
// remove extras here to prevent the app from retaining the deep linking intent
getIntent().removeExtra(key);
} else {
// get data from intent normally
String s = getIntent().getStringExtra(key)
}
这可能会阻止Activity
保留之前的Intent
。