Example #1
0
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
      if (exitToast == null) {
        exitToast =
            Toast.makeText(LoginActivity.this, R.string.info_back_key_exit, Toast.LENGTH_LONG);
      }

      long delay = (exitToast.getDuration() == Toast.LENGTH_LONG ? 3500 : 2000);
      if (System.currentTimeMillis() - lastPressedBackKeyTime < delay) {
        exitToast.cancel();
        LoginActivity.this.finish();
      } else {
        exitToast.show();
      }

      lastPressedBackKeyTime = System.currentTimeMillis();
    }
    return false;
  }