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

首頁 > 網站 > 建站經驗 > 正文

Android實現長按back鍵退出應用程序,的方法

2019-11-02 14:53:02
字體:
來源:轉載
供稿:網友

   本文實例講述了Android實現長按back鍵退出應用程序的方法。分享給大家供大家參考。具體分析如下:

  最近在做一個Android上的應用,碰到一個問題就是如何實現長按back鍵退出應用程序。在網上查找了很多資料,發現幾乎沒有這樣的實現,大部分在處理時是雙擊back鍵來退出應用程序。參考了一下雙擊back鍵退出應用程序的代碼,網上主流的一種方法是下面這種方法,實現起來比較簡單:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 1
中國古近代歷史研究網站[www.9-39.com]
3 14 15 16 17 18 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTime) > 2000) { mHelperUtils.showToast(mContext, R.string.exit_content); mExitTime = System.currentTimeMillis(); } else { finish(); } return true; } return super.onKeyDown(keyCode, event); }

  從上面的代碼可以看出,采用的思路就是連續兩次點擊back鍵的時間間隔在2s以內,則認為是雙擊,從而退出程序。

  因此,借鑒上面的思路,我的最初想法是:可以重寫onKeyDown方法和onKeyUp方法,計算這執行這兩個方法之間的時間間隔,如果大于2s,則認為是長按,從而退出程序;否則,則執行back鍵原有的響應。按照這個思路:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0) { start=System.currentTimeMillis(); Log.e("start",String.valueOf(start)); return false; } return super.onKeyDown(keyCode, event); } public boolean onKeyUp(int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK &&event.getRepeatCount()==0) { end=System.currentTimeMillis(); Log.e("end",String.valueOf(end)); if(start!=-1&&(end-start)>2000) { AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setMessage("確認退出嗎?"); builder.setTitle("提示"); builder.setPositiveButton("確認",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { dialog.dismiss(); MainActivity.this.finish(); System.exit(0); } }); builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { dialog.dismiss(); } }); builder.create().show(); return true; } else { return super.onKeyUp(keyCode, event); } } return super.onKeyUp(keyCode, event); }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒙阴县| 建德市| 巴东县| 太谷县| 天长市| 宜良县| 阿鲁科尔沁旗| 瑞金市| 合肥市| 河西区| 曲麻莱县| 汝州市| 青河县| 皮山县| 诸城市| 通渭县| 麦盖提县| 耿马| 深泽县| 阜城县| 石河子市| 金阳县| 寿光市| 勐海县| 嘉鱼县| 扶绥县| 新乡市| 永平县| 晋江市| 建始县| 昭觉县| 岗巴县| 崇州市| 大洼县| 武陟县| 斗六市| 镇坪县| 攀枝花市| 天台县| 德格县| 宜昌市|