標籤:
<?xml version="1.0" encoding="utf-8"?><!-- 定義當前布局的基本LinearLayout --><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 定義頁面文字標籤 --> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="在3秒內點擊兩次返回鍵,可退出程式....." /></LinearLayout>
package com.example.yanlei.yl2;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.view.KeyEvent;import android.widget.Toast;public class MainActivity extends AppCompatActivity { //定義是否退出程式的標記 private boolean isExit=false; //定義接受使用者發送資訊的handler private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //標記使用者不退出狀態 isExit=false; } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //監聽手機的物理按鍵點擊事件 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //判斷使用者是否點擊的是返回鍵 if(keyCode == KeyEvent.KEYCODE_BACK){ //如果isExit標記為false,提示使用者再次按鍵 if(!isExit){ isExit=true; Toast.makeText(getApplicationContext(), "再按一次退出程式", Toast.LENGTH_SHORT).show(); //如果使用者沒有在2秒內再次按返回鍵的話,就發送訊息標記使用者為不退出狀態 mHandler.sendEmptyMessageDelayed(0, 3000); } //如果isExit標記為true,退出程式 else{ //退出程式 finish(); System.exit(0); } } return false; }}
android 按兩次物理返回鍵退出程式