从任务管理器中删除后按按钮离开应用程序

时间:2017-01-06 09:15:49

标签: android android-intent

我正在使用从电子邮件到我的应用的深层链接。 当用户点击内部电子邮件时,他会导航到片段。除非我从任务管理器手动删除应用程序,否则一切正常。当我删除它并单击深层链接时,它很好,但当我按下后退按钮时,退出。

我认为我的应用的堆栈或生命周期存在一些问题。 当用户从任务管理器中删除应用程序并通过电子邮件打开时,我想完成该操作,他可以​​按下后退按钮并转到上一个活动。

我使用一个活动作为我所有深层链接的入口点,这里是对该活动的意图:

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

1 个答案:

答案 0 :(得分:1)

如果您手动删除应用,该应用将关闭,之前没有任何活动。然后,如果你从邮件中打开它,它将只启动片段,在你的后面按它将关闭,因为没有以前的活动。

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

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