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

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

兩次返回鍵退出App

2019-11-09 18:04:27
字體:
來源:轉載
供稿:網友

參考: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(); } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙陵县| 镇江市| 昌黎县| 台北市| 遵化市| 介休市| 南江县| 噶尔县| 焦作市| 巴马| 福泉市| 盐边县| 延长县| 临洮县| 油尖旺区| 阜城县| 武夷山市| 张北县| 三原县| 海宁市| 离岛区| 安岳县| 廉江市| 迁西县| 英超| 斗六市| 台东市| 黄浦区| 建始县| 蒲江县| 迁安市| 洪江市| 清丰县| 小金县| 巴里| 林芝县| 怀安县| 定兴县| 昌吉市| 清丰县| 高陵县|