Android 雙擊返回鍵退出程序的方法總結(jié)
Android 雙擊返回鍵退出程序的方法總結(jié)
下面先說說LZ思路,具體如下:
1. 第一種就是根據(jù)用戶點擊倆次的時間間隔去判斷是否退出程序;
2. 第二種就是使用Android中計時器(Timer),其實這倆種都差不多.
思路是有了,,,接下來要怎么開搞呢???用戶點擊肯定會觸發(fā)相應(yīng)的事件,,,我們先來看下面?zhèn)z個事件的作用。。。
Activity.onKeyDown();
當某個鍵被按下時會觸發(fā),但不會被任何的該Activity內(nèi)的任何view處理。
默認按下KEYCODE_BACK鍵后會回到上一個Activity。
Activity.onKeyUp():
當某個按鍵被按下,松開后觸發(fā),但不會被任何的該Activity內(nèi)的任何view處理。
默認沒有執(zhí)行任何操作,只是簡單的給一個false作為返回值。
So,,,接下來分別使用如上倆個方法干掉這個當年的攔路虎~
One Way:onKeyUp()
//--------------使用onKeyUp()干掉他--------------
//記錄用戶首次點擊返回鍵的時間
private long firstTime=0;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode){
case KeyEvent.KEYCODE_BACK:
long secondTime=System.currentTimeMillis();
if(secondTime-firstTime>2000){
Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyUp",Toast.LENGTH_SHORT).show();
firstTime=secondTime;
return true;
}else{
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}
Two Way:onKeyDown()
//--------------使用onKeyDown()干掉他--------------
//記錄用戶首次點擊返回鍵的時間
private long firstTime=0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
if (System.currentTimeMillis()-firstTime>2000){
Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyDown",Toast.LENGTH_SHORT).show();
firstTime=System.currentTimeMillis();
}else{
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
Three Way:Timer
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
exitByDoubleClick();
}
return false;
}
private void exitByDoubleClick() {
Timer tExit=null;
if(!isExit){
isExit=true;
Toast.makeText(MainActivity.this,"再按一次退出程序--->Timer",Toast.LENGTH_SHORT).show();
tExit=new Timer();
tExit.schedule(new TimerTask() {
@Override
public void run() {
isExit=false;//取消退出
}
},2000);// 如果2秒鐘內(nèi)沒有按下返回鍵,則啟動定時器取消掉剛才執(zhí)行的任務(wù)
}else{
finish();
System.exit(0);
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android 單雙擊實現(xiàn)的方法步驟
- Android實現(xiàn)雙擊返回鍵退出應(yīng)用實現(xiàn)方法詳解
- Android雙擊事件攔截方法
- Android使用PhotoView實現(xiàn)圖片雙擊放大單擊退出效果
- Android 雙擊Back鍵退出應(yīng)用的實現(xiàn)方法
- Android實現(xiàn)雙擊TitleBar回頂部的功能示例代碼
- Android 在viewPager中雙指縮放圖片雙擊縮放圖片單指拖拽圖片的實現(xiàn)思路
- Android中雙擊返回鍵退出應(yīng)用實例代碼
- Android 高仿微信朋友圈動態(tài)支持雙擊手勢放大并滑動查看圖片效果
- Android 自定義View實現(xiàn)單擊和雙擊事件的方法
- Android 屏幕雙擊事件的捕獲簡單示例
- Android 實現(xiàn)雙擊退出的功能
- Android App中實現(xiàn)可以雙擊放大和縮小圖片功能的實例
- Android實現(xiàn)ImageView圖片雙擊放大及縮小
- Android雙擊退出的實現(xiàn)方法
- Android雙擊返回鍵退出程序的實現(xiàn)方法
- 使用python編寫android截屏腳本雙擊運行即可
- Android開發(fā)實現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類
相關(guān)文章
android圖像繪制(四)自定義一個SurfaceView控件
自定義控件(類似按鈕等)的使用,自定義一個SurfaceView。如某一塊的動態(tài)圖(自定義相應(yīng)),或者類似UC瀏覽器下面的工具欄,感興趣的朋友可以了解下2013-01-01
Android實現(xiàn)可點擊的幸運大轉(zhuǎn)盤
這篇文章主要為大家詳細介紹了Android實現(xiàn)可點擊的幸運大轉(zhuǎn)盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
android實現(xiàn)http中請求訪問添加cookie的方法
這篇文章主要介紹了android實現(xiàn)http中請求訪問添加cookie的方法,實例分析了兩種添加cookie的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Android應(yīng)用中使用TabHost組件繼承TabActivity的布局方法
這篇文章主要介紹了Android應(yīng)用中使用TabHost組件繼承TabActivity的布局方法,文中分別介紹了以Activity和以布局文件進行布局的方式,需要的朋友可以參考下2016-04-04
android canvas drawText()文字居中效果
這篇文章主要為大家詳細介紹了android canvas drawText()文字居中效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Android 基于MediatorLiveData實現(xiàn)紅點的統(tǒng)一管理
這篇文章主要介紹了Android 基于MediatorLiveData實現(xiàn)紅點的統(tǒng)一管理,幫助大家更好的理解和學習使用Android,感興趣的朋友可以了解下2021-04-04

