相信大家在使用android应用的时候当点击返回键的时候,大部分会出现再按一次退出程序或者是会显示一个Dialog提示是否退出。用户退出应用前给出一个友好提示是很有必要的,因为有时候用户并不是真的向退出应用,用户是上帝。下面给大家分享两种退出应用的方式。

①----------------------------再按一次退出

  //监听按钮事件
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    //判断是否为返回按钮事件
    if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
    //如果按下返回按钮的时间大于2.5秒,则提示
    if((System.currentTimeMillis()-exit) > 2500){
    Toast.makeText(getApplicationContext(), "再按一次退出应用", Toast.LENGTH_SHORT).show();
    exit = System.currentTimeMillis();
    } else {
    //如果在2.5秒之之间按了两次back键 则退出应用
     finish();
     System.exit(0);
    }
     return true;
    }
    return super.onKeyDown(keyCode, event);
    }

②-----------------------AlertDialog提示

// 捕获返回按钮事件
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) { 
   if (keyCode == KeyEvent.KEYCODE_BACK) { 
    dialog();   return false; 
   } else { 
    return super.onKeyDown(keyCode, event);
    }
   } 
  // 提示框 protected void dialog() {
  AlertDialog.Builder dialog = new AlertDialog.Builder(this);
  dialog.setTitle("").setIcon(android.R.drawable.ic_dialog_info) 
  .setMessage(" 您确认退出程序吗?").setPositiveButton("确定",    
new DialogInterface.OnClickListener() {   
   @Override      
   public void onClick(DialogInterface dialog,         int which) {  
    System.exit(0);   
    }    
   }).setNegativeButton("取消",   
     new DialogInterface.OnClickListener() {   
    public void onClick(DialogInterface dialog,         int which) { 
     dialog.cancel();// 取消弹出框  
     }   
    }).create().show();
  }
   }
  }