我正在使用从电子邮件到我的应用的深层链接。 当用户点击内部电子邮件时,他会导航到片段。除非我从任务管理器手动删除应用程序,否则一切正常。当我删除它并单击深层链接时,它很好,但当我按下后退按钮时,退出。
我认为我的应用的堆栈或生命周期存在一些问题。 当用户从任务管理器中删除应用程序并通过电子邮件打开时,我想完成该操作,他可以按下后退按钮并转到上一个活动。
我使用一个活动作为我所有深层链接的入口点,这里是对该活动的意图:
@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()));
答案 0 :(得分:1)
如果您手动删除应用,该应用将关闭,之前没有任何活动。然后,如果你从邮件中打开它,它将只启动片段,在你的后面按它将关闭,因为没有以前的活动。
您可以通过intent启动另一个活动。在OnBackPress方法中包含此意图。
@Override
public void onBackPressed() {
super.onBackPressed();
//call the intent here
}