我正在我的应用程序中打开一个链接,一旦按回去,我想显示HomePage以保留用户更多时间。我一直在努力做到这一点,但无法做到。我将homeLauncher Activity 作为我的首要任务以及baseActivity。
DeepLink点击>打开所需的 Activity >用户按下后退按钮>检查其上一次 Activity ,但不检查homeActivity>是,将用户导航到homeActivity。
尝试以下代码:
@Override
public void onBackPressed() {
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);
if(taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName().equals(this.getClass().getName())){
//// This is last activity
}
else{
//// There are more activities in stack
}
super.onBackPressed();
}
我也尝试过isTaskRoot,但是结果是一样的。它没有给出正确的答案。请帮忙
最佳答案
使用isTaskRoot()方法。 (来自h9kdroid评论-here)
@Override
public void onBackPressed() {
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
List<ActivityManager.RunningTaskInfo> taskList = mngr.getRunningTasks(10);
if(isTaskRoot()){
//// This is last activity
} else{
//// There are more activities in stack
}
super.onBackPressed();
}