Cordova(ionic)項目實現(xiàn)雙擊返回鍵退出應(yīng)用
Android原生項目實現(xiàn)雙擊返回鍵退出應(yīng)用,是十分簡單的,添加如下代碼即可實現(xiàn):
//記錄按鍵時間 private long exitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ exit(); } return super.onKeyDown(keyCode, event); } public void exit(){ if ((System.currentTimeMillis()-exitTime)>2000){ // 點擊間隔大于兩秒,做出提示 Toast.makeText(getApplicationContext(), "再按一次退出應(yīng)用", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); }else{ finish(); System.exit(0); } }
然而,在Cordova項目中,在繼承CordovaActivity的MainActivity中添加上面的代碼并不起作用,原因是返回鍵已經(jīng)被Cordava的WebView處理掉了。
解決辦法:在app.js的config中添加如下代碼:
// 等待加載PhoneGap document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap加載完畢 function onDeviceReady() { //按鈕事件 document.addEventListener("backbutton", eventBackButton, false); //返回鍵 document.addEventListener("menubutton", eventMenuButton, false); //菜單鍵 document.addEventListener("searchbutton", eventSearchButton, false); //搜索鍵 } //返回鍵 function eventBackButton(){ //confirm("再點擊一次退出!"); window.plugins.ToastPlugin.show_short('再點擊一次退出!'); document.removeEventListener("backbutton", eventBackButton, false); //注銷返回鍵 //3秒后重新注冊 var intervalID = window.setInterval( function() { window.clearInterval(intervalID); document.addEventListener("backbutton", eventBackButton, false); //返回鍵 }, 3000 ); } //菜單鍵 function eventMenuButton(){ window.plugins.ToastPlugin.show_short('點擊了 菜單 按鈕!'); } //搜索鍵 function eventSearchButton(){ window.plugins.ToastPlugin.show_short('點擊了 搜索 按鈕!'); }
上面的腳本用到了Cordova的Toast插件,插件地址:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
DOM節(jié)點刪除函數(shù)removeChild()用法實例
這篇文章主要介紹了DOM節(jié)點刪除函數(shù)removeChild()用法,實例分析了removeChild()函數(shù)實現(xiàn)結(jié)點刪除的技巧,需要的朋友可以參考下2015-01-01JavaScript中的console.profile()函數(shù)詳細介紹
這篇文章主要介紹了JavaScript中的console.profile()函數(shù)詳細介紹,本文講解了console.profile()函數(shù)的瀏覽器支持情況、console.profile()的使用、Firebug中Profile按鈕的使用等內(nèi)容,需要的朋友可以參考下2014-12-12JS/jQuery實現(xiàn)獲取時間的方法及常用類完整示例
這篇文章主要介紹了JS/jQuery實現(xiàn)獲取時間的方法及常用類,結(jié)合完整實例形式分析了javascript針對日期時間的獲取、轉(zhuǎn)換、計算與檢測相關(guān)操作技巧,需要的朋友可以參考下2019-03-03js中net::ERR_FILE_NOT_FOUND報錯的解決
本文主要介紹了js中net::ERR_FILE_NOT_FOUND報錯的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07