按主活动上的后退按钮打开其他活动

jexiocij  于 2021-07-06  发布在  Java
关注(0)|答案(4)|浏览(387)

在我的项目中,我从主要活动转到活动a,从活动a转到活动b。从活动b使用工具栏上的主菜单,我跳回主活动。现在,当我按下后退按钮时,应用程序应该退出,但它会再次打开活动a。

but5z9lq

but5z9lq1#

打电话给 finish() 方法将其从活动中移除。请在此处查找更多详细信息和选项。

w9apscun

w9apscun2#

您应该使用启动标志来管理后堆栈中的活动。据我所知,你需要使用 FLAG_ACTIVITY_CLEAR_TOP 开始你的主要/家庭活动。
阅读有关启动标志的更多信息:https://developer.android.com/reference/android/content/intent#flag_activity_clear_top.
另外,请看下面的内容,以了解有关在android上管理活动后栈的更多详细信息:https://developer.android.com/guide/components/activities/tasks-and-back-stack#managingtasks

68de4m5k

68de4m5k3#

嘿,我给你写了一些代码:
布尔backactivity=true;
代码:

public boolean onOptionsItemSelected(MenuItem item){
        if(backactivity==true)
        {
            finishActivity(1);
            backactivity=false;
        }else
        {
            Intent homeIntent = new Intent(Intent.ACTION_MAIN);
            homeIntent.addCategory( Intent.CATEGORY_HOME );
            homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(homeIntent);
        }
        return true;
    }
sbtkgmzw

sbtkgmzw4#

对于kotlin,在你的主要活动中写下:

override fun onBackPressed() {
    moveTaskToBack(true)
    exitProcess(-1)
}

对于java,请在mainactivity中编写以下内容:

@Override
void onBackPressed() {
    moveTaskToBack(true)
    exitProcess(-1)
}

希望它对你和我一样有用

相关问题