在我的应用程序中,我有一个登录屏幕,成功登录后,一个选项卡将加载4个标签活动。当我按下后退按钮时,我想退出应用程序。我试过这个。但不工作:`
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
android.os.Process.killProcess(android.os.Process.myPid());
super.onKeyDown(keyCode, event);
return true;
}
return false;
}
`
答案 0 :(得分:2)
只需finish()
您的所有活动
答案 1 :(得分:2)
只需致电finish()
。但这并不意味着该应用程序将在其执行的同一时刻真正退出,它只是说你要终止的Android SO和它决定的Android,所以在你调用该函数后不要惊讶仍有线程或其他东西在运行。
答案 2 :(得分:2)
在我的家庭活动中,我将“onBackPressed”覆盖为:
public void onBackPressed() {
Log.i("HA", "Finishing");
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
因此,如果用户在家庭活动中并按回,则他会进入主屏幕。我还在其他活动中覆盖“onBackPressed”,根据他们的来源去我想去的地方。
我以编程方式将Go代码转到主屏幕
答案 3 :(得分:2)
我有一个登录屏幕,登录成功后,一个标签将加载4 标签活动。
=>
您应该在启动标签活动时完成login
活动。
例如:
Intent intent = new Intent(this, MyTabActivity.class);
startActivity(intent);
finish();
现在,如果您在标签活动的finish()
内拨打onBackPressed()
,那么它将从您的应用中发出。
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
答案 4 :(得分:1)
改为覆盖onBackPressed()并调用finish来终止活动。
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
}
答案 5 :(得分:1)
@覆盖 public void onBackPressed(){
finish();
}