国产探花免费观看_亚洲丰满少妇自慰呻吟_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(); } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍邱县| 边坝县| 开江县| 玉门市| 清徐县| 岑巩县| 凤翔县| 西畴县| 都匀市| 东港市| 绥阳县| 哈尔滨市| 大厂| 贵德县| 高阳县| 广丰县| 改则县| 江北区| 温州市| 静海县| 格尔木市| 苏尼特右旗| 昌图县| 博乐市| 贡觉县| 永济市| 虹口区| 琼海市| 陕西省| 安岳县| 会泽县| 望谟县| 宁乡县| 昌吉市| 岳普湖县| 砚山县| 静海县| 绍兴县| 图木舒克市| 大宁县| 邹城市|