gpt4 book ai didi

android - 如何查找 Activity 是否是堆栈中的最后一个 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:08 27 4
gpt4 key购买 nike

我正在我的应用程序中打开一个链接,一旦按下返回键,我想显示主页以保留用户更多时间。我一直在努力实现这一目标,但无法做到。我将 homeLauncher Activity 作为我的首要 Activity 以及 baseActivity。

DeepLink Tap > 打开所需的 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();
}

Android Studio Evalation

我也试过 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();
}

关于android - 如何查找 Activity 是否是堆栈中的最后一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33800948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com