溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cordova(ionic)項目實現(xiàn)雙擊返回鍵退出應用

發(fā)布時間:2020-09-27 08:54:47 來源:腳本之家 閱讀:184 作者:談談的心情 欄目:web開發(fā)

Android原生項目實現(xiàn)雙擊返回鍵退出應用,是十分簡單的,添加如下代碼即可實現(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(), "再按一次退出應用", 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插件,插件地址:

cordova plugin add

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI