Android實現首次點選返回鍵提示資訊,第二次點選退出應用
要實現的效果如圖:
程式碼很簡單,複寫onKeyDown方法,監聽到back鍵的點選就初始化一個時間變數,並給出一個toast。當接下來一定時間內(我這裡取的是1.5秒)再次有點選事件時,退出應用。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
long secondClickBack = System.currentTimeMillis();
if(secondClickBack - firstClickBack >1500){
Toast.makeText(this, "再按一次退出每一天", 0).show();
firstClickBack = secondClickBack;
return true;
}else{
MyApplication.getInstance().exitApp();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
注意上述程式碼中有個MyApplication.getInstance().exitApp();
執行這個的前提是實現自定義個MyApplication,程式碼在後面。
我們在每個Activity的onCreate()方法中呼叫MyApplication.addActivity方法將當前activity儲存進去。等要退出應用時呼叫MyApplication.exitApp方法將所有activity都finish();
MyApplication程式碼如下:
package com.zsx.base;
import java.util.ArrayList;
import android.app.Activity;
import android.app.Application;
public class MyApplication extends Application {
public static ArrayList<Activity> list;
private static MyApplication myApp = null;
//要保證每個Activity中使用的MyApplication都是同一個,就用到了單例模式
//單例模式:只有一個物件,也就是上面的那個myApp只例項化一次
//由於MyApplication繼承自Application,複寫的建構函式訪問許可權不能低於父類的,所以不能為private
//所以我們在這裡實現一個偽單例模式
public static MyApplication getInstance(){
if(myApp == null ){
myApp = new MyApplication();
list = new ArrayList<Activity>();
}
return myApp;
}
/**
* 新增activity到陣列中
* @param activity
*/
public void addActivity(Activity activity){
list.add(activity);
}
/**
* 退出應用,結束所有activity
*/
public void exitApp(){
for (Activity activity : list) {
activity.finish();
}
}
}
相關文章
- Android實現點選兩次返回鍵和長按返回鍵退出應用實踐Android
- Android 實現點選兩次BACK鍵退出應用Android
- Android 點選兩次返回鍵退出程式Android
- Android主介面連續兩次點選物理返回鍵退出應用功能實現Android
- Android開發之連續點選返回鍵退出程式Android
- Cordova + Vue 實現點選兩次退出應用Vue
- 兩次點選BACK鍵退出應用的效果
- AndroidStudio點選兩次返回鍵,退出APPAndroidAPP
- 點選兩次返回退出程式
- mui退出軟體點選兩次提示UI
- Ext實現點選節點,父子節點反選
- 用Kotlin實現Android點選事件的方法KotlinAndroid事件
- android短影片開發,點選兩次實現不同點選效果的實現方式Android
- jquery實現的右鍵滑鼠點選事件jQuery事件
- EditText點選外部退出編輯
- 點選返回頂部效果實現程式碼詳解
- 點選回車實現按鈕點選功能
- 使用Cordova –實現點選手機物理返回鍵時,應用進入後臺執行,而不是直接關閉!
- jQuery如何實現點選Enter鍵觸發事件jQuery事件
- weex生成的單頁應用嵌入app中,點選物理返回鍵時如何返回上一個路由頁面,而不是直接退出單頁應用,回到原生app頁面APP路由
- JavaScript 點選按鈕返回底部JavaScript
- Android實現人人網點選“+”彈出效果Android
- jQuery實現的點選Enter鍵觸發指定事件jQuery事件
- 點選左右方向鍵實現翻頁效果
- jquery實現的點選返回頂部和底部特效詳解jQuery特效
- 如何實現點選文字框刪除提示文字效果
- 點選方向鍵實現文字框焦點切換程式碼例項
- 後臺點選退出如何跳出frameset框架框架
- EditText的點選事件遮蔽鍵盤響應事件
- 點選返回網頁頂層效果網頁
- Flutter實現點選空白區域隱藏軟鍵盤Flutter
- JavaScript實現單擊全選 ,再次點選取消全選JavaScript
- JS如何實現點選複製功能,JS點選複製文字JS
- 一個問號,點選給一個提示view的實現。View
- asp.net點選鍵盤enter鍵,呼叫按鈕點選事件函式ASP.NET事件函式
- checkbox及css實現點選下拉選單CSS
- 點選空白出隱藏鍵盤,或者點選按鈕隱藏軟鍵盤
- Android 設定主題實現點選波紋效果Android