从 activity B 导航到 activity A 时的明确意图
Clear intent when navigating from activity B to activity A
当我进入主界面时,我得到了一个意图 activity,
if (getIntent() != null &&
LinkReceiver.LINK_INTENT.equals(getIntent().getAction())) {
Uri appLinkData = getIntent().getData();
if (appLinkData != null) {
processIntent(appLinkData);
}
}
我在 onStart
方法中有这个。我使用 startActivity()
导航到 another activity
。当我按回我所在的第二个 activity 时,我 return 回到 main activity
,但意图永远不会变为空。
我试过在processIntent
方法中做setIntent(null)
,我试过getIntent.setAction("")
和getIntent.setData(null)
。
有没有办法在不重写第二个 activity 中的 onBackPressed()
方法的情况下无意中再次打开主 activity 方法。
getIntent()
将始终 return 启动 Activity
的 Intent
。当您为另一个 Activity
调用 startActivity()
时,为什么不在您的 MainActivity
中设置一个标志。当它 return 发送到您的 Activity
时,您可以检查标志以确定状态并采取相应行动。
或者您可以使用 startActivityForResult()
,这将允许您从您启动的 Activity
传回信息。此外,当另一个 Activity
完成时,方法 onActivityResult()
将在您的 MainActivity
上调用,因此您可以设置内部标志或其他任何内容来确定下一步要做什么。
当我进入主界面时,我得到了一个意图 activity,
if (getIntent() != null &&
LinkReceiver.LINK_INTENT.equals(getIntent().getAction())) {
Uri appLinkData = getIntent().getData();
if (appLinkData != null) {
processIntent(appLinkData);
}
}
我在 onStart
方法中有这个。我使用 startActivity()
导航到 another activity
。当我按回我所在的第二个 activity 时,我 return 回到 main activity
,但意图永远不会变为空。
我试过在processIntent
方法中做setIntent(null)
,我试过getIntent.setAction("")
和getIntent.setData(null)
。
有没有办法在不重写第二个 activity 中的 onBackPressed()
方法的情况下无意中再次打开主 activity 方法。
getIntent()
将始终 return 启动 Activity
的 Intent
。当您为另一个 Activity
调用 startActivity()
时,为什么不在您的 MainActivity
中设置一个标志。当它 return 发送到您的 Activity
时,您可以检查标志以确定状态并采取相应行动。
或者您可以使用 startActivityForResult()
,这将允许您从您启动的 Activity
传回信息。此外,当另一个 Activity
完成时,方法 onActivityResult()
将在您的 MainActivity
上调用,因此您可以设置内部标志或其他任何内容来确定下一步要做什么。