英文:
Press back button on main activity opens other activity
问题
在我的项目中,我从主活动转到活动A,然后从活动A转到活动B。从活动B中,使用工具栏上的主菜单返回到主活动。现在,当我按下返回按钮时,应用程序应该退出,但它重新打开了活动A。
英文:
In my project i move from main activity to activity A and from activity A to activity B. From activity B using home menu on toolbar i jump back to main activity. Now when i press back button application should exit but it opens the activity A again.
答案1
得分: 0
在开始下一个活动之前调用finish()
方法,以使其从活动中移除。在此处查找更多详细信息和选项:链接。
英文:
Call the finish()
method before starting the next activity to have it removed from the activity. Find more details and options here.
答案2
得分: 0
你应该利用启动标志来管理后台堆栈中的活动。根据我理解的情况,我认为你需要使用 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。
英文:
You should make use of the launch flags to manage your activities in the back stack. As far as I understood your scenario, I think you need to use FLAG_ACTIVITY_CLEAR_TOP
for starting your main/home activity.
Read more about launch flags: https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_CLEAR_TOP.
Also, take a look this for more details on managing activity back stack on Android: https://developer.android.com/guide/components/activities/tasks-and-back-stack#ManagingTasks
答案3
得分: 0
以下是您要的翻译内容:
Kotlin写在您的MainActivity中:
override fun onBackPressed() {
moveTaskToBack(true)
exitProcess(-1)
}
Java写在您的MainActivity中:
@Override
void onBackPressed() {
moveTaskToBack(true);
exitProcess(-1);
}
希望它对您和我一样有效。
英文:
For Kotlin write this in your MainActivity :
override fun onBackPressed() {
moveTaskToBack(true)
exitProcess(-1)
}
For Java write this in your MainActivity :
@Override
void onBackPressed() {
moveTaskToBack(true)
exitProcess(-1)
}
Hope to it will work for you as good as for me
答案4
得分: -1
Variables:
boolean backactivity = true;
CODE:
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;
}
英文:
hey i write some code for you
Variables:
boolean backactivity = true;
CODE:
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;
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论