国产探花免费观看_亚洲丰满少妇自慰呻吟_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(); } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大埔县| 惠来县| 宁津县| 福建省| 盈江县| 淄博市| 东阿县| 攀枝花市| 章丘市| 张北县| 广饶县| 长治市| 黑山县| 桐柏县| 东兴市| 从江县| 双流县| 塔河县| 尉犁县| 大洼县| 库车县| 莒南县| 嘉定区| 江川县| 柘荣县| 璧山县| 澜沧| 闵行区| 舒兰市| 于田县| 布尔津县| 甘谷县| 玛沁县| 庆阳市| 利川市| 抚远县| 惠水县| 绵竹市| 清新县| 石河子市| 临漳县|