使用后退按钮退出应用程序

Exit application with back button

我有一个使用蓝牙的应用程序,需要在退出和后退按钮上退出蓝牙连接。我已经设置了一个退出按钮,它可以与 Finish() 和 System.exit(0) 一起正常工作,但需要对后退按钮使用相同的方法。我已经阅读了几个线程,不建议使用退出按钮。我正在寻找对这种做法的进一步评论。

      BtnExit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
            System.exit(0);
        }

    });

我添加了 OnDestroy 和 OnStop 来处理后退按钮和主页按钮。我选择只终止应用程序而不是只关闭蓝牙连接。

    @Override
protected void onDestroy() {
    super.onDestroy();
    finish();
    System.exit(0);
}

@Override
protected void onStop() {
    super.onStop();
    finish();
    System.exit(0);


}

您可以覆盖 Activity lifecycle

的函数之一

既然你想关闭一个连接,我认为最好重写onDestroy();方法,当应用程序被显式地从内存中删除或者被删除为其他进程腾出空间时,该方法将被调用。

如果您想在 Activity 不再可见时关闭连接,您可以覆盖 onStop 而不是 onDestroy

@override
public void onDestroy(){
    //your bluetooth disconnection code
}

你可以使用...

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_BACK) {
        finish();
        System.exit(0);
     }
     return super.onKeyDown(keyCode, event);
   }

听起来您想覆盖 onBackPressed()。 http://developer.android.com/reference/android/app/Activity.html#onBackPressed()