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-01
JavaScript中的console.profile()函數(shù)詳細(xì)介紹
這篇文章主要介紹了JavaScript中的console.profile()函數(shù)詳細(xì)介紹,本文講解了console.profile()函數(shù)的瀏覽器支持情況、console.profile()的使用、Firebug中Profile按鈕的使用等內(nèi)容,需要的朋友可以參考下2014-12-12
JS/jQuery實現(xiàn)獲取時間的方法及常用類完整示例
這篇文章主要介紹了JS/jQuery實現(xiàn)獲取時間的方法及常用類,結(jié)合完整實例形式分析了javascript針對日期時間的獲取、轉(zhuǎn)換、計算與檢測相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
js中net::ERR_FILE_NOT_FOUND報錯的解決
本文主要介紹了js中net::ERR_FILE_NOT_FOUND報錯的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

