将不同的 activity 加载到要在返回 pr3ess 上加载的返回堆栈
Loading a different activity to the back stack to be loaded on back pr3ess
这是我的用例。我必须深入 link 到一个 activity 中,它有一个与之关联的片段。这个深度 link 要求我们登录应用程序。这是我的深link流量
Deep Link Handler Activity -> (Sign In) -> (Preference Activity).
如果您在登录后导航到目的地 activity,这会加载主屏幕,那么导航路径将为
(Main Activity) - > Activity A -> (Preference Activity)
SignIn Activity 调用目标 activity,并调用 finish()
从而将其自身从返回堆栈中移除。这是遗留代码,无法更改。
我要做的是下面的
在目标 activity 加载后 deeplink -> 登录,如果用户是第一次按下后退按钮,那么我想加载 Activity A
后跟 Home Screen
按下另一个后退按钮。
有办法实现吗?我已经完成了以下教程
android activity back stack(这是默认行为)。
我的意图在深层 link 处理程序 activity 中启动 activity。
Intent processorIntent = new Intent(this, PreferencesActivity.class);
processorIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
processorIntent.putExtra(PARAM_PREFERENCE, preference);
processorIntent.putExtra(PARAM_FLOW, true);
startActivity(processorIntent);
(Main Activity) - > Activity A -> (Destination Activity)
当用户第一次从 Destination Activity
按下后退按钮时,您需要调用 startActivity
像这样
@Override
public void onBackPressed() {
if(isFirstTime){
Intent intent=new Intent(this, A.class);
intent.putExtra(PARAM_FLOW, true);
startActivity(intent);
finish();
}else super.onBackPressed();
}
并在 Activity A
中做同样的事情
这是我的用例。我必须深入 link 到一个 activity 中,它有一个与之关联的片段。这个深度 link 要求我们登录应用程序。这是我的深link流量
Deep Link Handler Activity -> (Sign In) -> (Preference Activity).
如果您在登录后导航到目的地 activity,这会加载主屏幕,那么导航路径将为
(Main Activity) - > Activity A -> (Preference Activity)
SignIn Activity 调用目标 activity,并调用 finish()
从而将其自身从返回堆栈中移除。这是遗留代码,无法更改。
我要做的是下面的
在目标 activity 加载后 deeplink -> 登录,如果用户是第一次按下后退按钮,那么我想加载 Activity A
后跟 Home Screen
按下另一个后退按钮。
有办法实现吗?我已经完成了以下教程
android activity back stack(这是默认行为)。
我的意图在深层 link 处理程序 activity 中启动 activity。
Intent processorIntent = new Intent(this, PreferencesActivity.class);
processorIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
processorIntent.putExtra(PARAM_PREFERENCE, preference);
processorIntent.putExtra(PARAM_FLOW, true);
startActivity(processorIntent);
(Main Activity) - > Activity A -> (Destination Activity)
当用户第一次从 Destination Activity
按下后退按钮时,您需要调用 startActivity
像这样
@Override
public void onBackPressed() {
if(isFirstTime){
Intent intent=new Intent(this, A.class);
intent.putExtra(PARAM_FLOW, true);
startActivity(intent);
finish();
}else super.onBackPressed();
}
并在 Activity A