Androidは2回キーを押してアプリケーションを終了します

910 ワード

この問題について、私は以前ネット上で他の人の方法を参考にしていませんでしたが、自分の考えはいつもぼんやりしていました.以前はintフラグを0と1に設定していました.押すときは0かどうか、いいえ、1を加えて、はい、退出します.この低級な間違いは本当に恥ずかしい.その後、何度か長い時間間隔を置いても退出します.後でタイマーを使って、時間を設定したいです.効率が低い.実はjavaには現在の時間を直接取得するAPIがあり、前回の時間を差し引くと間隔が取れるのではないでしょうか.
コード:
 private long mExitTime ; //    
	//    
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
			if ((System.currentTimeMillis() - mExitTime) > 2000 ) {
				
				Toast.makeText(this, "          ", Toast.LENGTH_SHORT).show();
				mExitTime = System.currentTimeMillis();
			}else{
				SysApplication.getInstance().exit();
			}
			
			
			
			return true;
		}
		 return super.onKeyDown(keyCode, event);
	}

ここのSysApplication.getInstance().exit();自分でカプセル化したクラスです.みんなが使っている間に自分の代わりにします.