【问题标题】:Loading a different activity to the back stack to be loaded on back pr3ess将不同的活动加载到后台堆栈以在后台加载
【发布时间】:2019-08-09 01:38:15
【问题描述】:

这是我的用例。我必须深入链接到具有与之关联的片段的活动。此深层链接要求我们登录应用程序。这是我的深层链接流程

Deep Link Handler Activity ->(登录)->(Preference Activity)。

如果您在登录后导航到加载主屏幕的目标活动,那么导航路径将是

(主活动)-> 活动 A->(偏好活动)

SignIn Activity 调用目标 Activity,并调用 finish(),从而将自身从后台堆栈中移除。这是旧代码,无法更改。

我想做的是以下

在深度链接 -> 登录后加载目标活动后,如果用户第一次按下后退按钮,那么我想在另一个后退按钮按下时加载Activity A,然后是Home Screen

有没有办法做到这一点?我已经完成了以下教程

  1. Go back to different Activity in back stack in Android

  2. android activity back stack(这是默认行为)。

我在深层链接处理程序活动中的意图启动活动。

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);

【问题讨论】:

    标签: android back-stack


    【解决方案1】:
    (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中做同样的事情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      相关资源
      最近更新 更多