Android 从任务管理器中删除应用程序后,按此按钮将其退出

Android 从任务管理器中删除应用程序后,按此按钮将其退出,android,android-intent,Android,Android Intent,我正在使用从电子邮件到我的应用程序的deeplink。 当用户在电子邮件中单击时,他会导航到fragment。除了我从任务管理器中手动删除应用程序外,一切正常。当我删除应用程序并单击“深度链接”时,一切正常,但当我按“上一步”按钮时,应用程序退出 我认为我的应用程序的堆栈或生命周期存在一些问题。 当用户从任务管理器中删除应用程序并从电子邮件中打开时,我希望他能够按下后退按钮并转到上一个活动 我使用一个活动作为我所有深度链接的入口点,以下是该活动的意图: @Override public vo

我正在使用从电子邮件到我的应用程序的deeplink。 当用户在电子邮件中单击时,他会导航到fragment。除了我从任务管理器中手动删除应用程序外,一切正常。当我删除应用程序并单击“深度链接”时,一切正常,但当我按“上一步”按钮时,应用程序退出

我认为我的应用程序的堆栈或生命周期存在一些问题。 当用户从任务管理器中删除应用程序并从电子邮件中打开时,我希望他能够按下后退按钮并转到上一个活动

我使用一个活动作为我所有深度链接的入口点,以下是该活动的意图:

  @Override public void onResume() {
    super.onResume();

    Intent intent = getActivity().getIntent();
    if (intent.getData() != null){
      String pathPart = String.valueOf(Uri.parse(intent.getData().getPathSegments().get(0)));
      if(pathPart.contains("passwordrecovery")){
        intent.setClass(getContext(), ForgotPasswordResetActivity.class);
        startActivity(intent);
        return;
      }

    }
在我的片段中,我正在解析意图:

 @Override
    public void onStart() {
        super.onStart();
        Intent intent = getActivity().getIntent();
        Uri data = Uri.parse(intent.getData().getPath());
        dataEmail = String.valueOf(Uri.parse(data.getPathSegments().get(1)));
        dataVerification = String.valueOf(Uri.parse(data.getLastPathSegment()));

如果手动删除应用程序,则该应用程序将关闭,并且不会有以前的活动。然后,若你们从邮件中打开它,它将只启动片段,在你们的背压中,它将关闭,因为并没有以前的活动

您可以通过intent启动另一个活动。将此intent包含在OnBackPress方法中

 @Override
    public void onBackPressed() {
        super.onBackPressed();
        //call the intent here
    }

我的片段已连接到活动,因此它将启动带有片段的空白活动。我需要在onStart中调用intent,因为我需要解析数据并将路径设置为字符串。当我从任务管理器中删除旧活动时,它是否仍保留在堆栈中?谢谢你,奈纳诺。当您将其从任务管理器中删除时,您的所有活动都将被销毁