Cordova(ionic)项目实现双击返回键退出应用

时间:2021-05-28

Android原生项目实现双击返回键退出应用,是十分简单的,添加如下代码即可实现:

//记录按键时间 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中添加上面的代码并不起作用,原因是返回键已经被Cordava的WebView处理掉了。

解决办法:在app.js的config中添加如下代码:

// 等待加载PhoneGapdocument.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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章