如何以编程方式退出应用程序?

时间:2014-01-28 13:11:03

标签: android exit

在我的应用程序中,我有一个登录屏幕,成功登录后,一个选项卡将加载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;
}

`

6 个答案:

答案 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   标签活动。

=>

第1步:

您应该在启动标签活动时完成login活动。

例如:

Intent intent = new Intent(this, MyTabActivity.class);
startActivity(intent);
finish();

第2步:

现在,如果您在标签活动的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();

    } 
相关问题