[英]onbackpress go to home screen instead of previous activity
我有一个应该在后按时关闭的导航抽屉,这很正常,但是当导航抽屉关闭并且有第二次后退按钮按下时,应用会关闭而不是返回主屏幕
这是我正在尝试的代码
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
if(drawerLayout.isDrawerOpen(Gravity.LEFT)){
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
//super.onBackPressed();
Intent mainActivity = new Intent(Intent.ACTION_MAIN);
mainActivity.addCategory(Intent.CATEGORY_HOME);
mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mainActivity);
}
我们如何关闭导航抽屉然后直接转到主屏幕/主要活动
我不想用
Intent i = new Intent(AccountActivity.this, HomeActivity.class);
startActivity(i);
从家里开始其他活动时,请不要使用finish()方法。
//从主屏幕删除finish方法。
首先,请阅读并理解我的回答,以清除MainActivity
的后备堆栈。 我的方法只有在您了解这一点后才能起作用。
因此,除非您先返回主屏幕并关闭主屏幕的“ Activity
,否则您将无法直接关闭应用程序(请参阅此问题 )。
CurrentActivity
:
if(drawerLayout.isDrawerOpen(Gravity.LEFT)) {
drawerLayout.closeDrawer(Gravity.LEFT);
}else{
// After you understood my answer above (I link it with "here"),
// you just need this call:
startActivity(new Intent(CurrentActivity.this, HomeScreenActivity.class));
}
注意:在onResume()
方法中调用finish()
可能会导致问题。
在HomeScreenActivity
内部的onResume()
方法中调用finish()
:
@Override
protected void onResume() {
super.onResume();
HomeScreenActivity.this.finish();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.