//重写onKeyUp(),实现连续两次点击方可退出当前应用 private boolean flag = true; private static final int WHAT_RESET_BACK = 1; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case WHAT_RESET_BACK: flag = true;//复原 break; } } }; @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode==KeyEvent.KEYCODE_BACK&&flag){ Toast.makeText(this, "再点击一次退出当前应用", Toast.LENGTH_SHORT).show(); flag = false; handler.sendEmptyMessageDelayed(WHAT_RESET_BACK,2000); return true; } return super.onKeyUp(keyCode, event); } //为了避免出现内存的泄露,需要在onDestroy()中,移除所有未被执行的消息 @Override protected void onDestroy() { super.onDestroy(); //方式一 // handler.removeMessages(WHAT_RESET_BACK);//移除指定id的所有消息 //方式二 handler.removeCallbacksAndMessages(null);//移除所有未被执行的消息 }
点击两次返回键退出应用
最新推荐文章于 2022-09-14 00:12:07 发布