国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

兩次返回鍵退出App

2019-11-09 17:03:34
字體:
來源:轉載
供稿:網友

參考:http://blog.sina.com.cn/s/blog_4fd2a65a0101gg2o.html

前言

在android開發中,我們經常要判斷用戶對返回鍵的操作,一般為了防止誤操作我們都是在用戶連續兩次點擊返回鍵提示用戶退出APP。

思路

在這里我們有兩種思路: - 當按下Back鍵的時候我們會被onKeyDown捕獲,通過一個記錄兩次按鍵的時間差來實現 - 當按下Back鍵的時候我們會被onKeyDown捕獲,這個時候我們通過標志位isExit,來判斷是否彈出提示,當isExit為false的時候,則置為true,同時會彈出提示,并在2000毫秒(2秒)后發出一個消息,在Handler中將此值還原成false,如果在發送消息間隔的2秒內,再次按了BACK鍵,則再次執行exit方法,此時isExit的值已為true,則會執行退出的方法

實現

方法一: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } public void exit() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getapplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { activity.finish(); System.exit(0); } }

方法二:

PRivate boolean isEixt = false;// 是否退出APP的標志位 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { super.handleMessage(msg); isEixt = false; }; }; public void exit() { if (!isEixt)// 第一次點擊 { isEixt = true; DialogManager.getInstance(this).showToast("再按一次退出應用"); handler.sendEmptyMessageDelayed(0, 2000); } else { // 第二次點擊 ShrkbApplication.getInstance().exitApp(); } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克陶县| 长海县| 九龙坡区| 左贡县| 佛学| 华容县| 肥东县| 明光市| 山阴县| 揭西县| 江门市| 三河市| 永清县| 乐安县| 吉安县| 贵港市| 福安市| 石景山区| 布尔津县| 镇雄县| 上饶市| 岑溪市| 重庆市| 深圳市| 泽普县| 棋牌| 蒙阴县| 长泰县| 合水县| 翼城县| 高雄县| 桃江县| 壤塘县| 杂多县| 南川市| 临汾市| 麻江县| 临夏县| 新密市| 台中市| 普洱|