Cordova(ionic)项目实现双击返回键退出应用
Android原生项目实现双击返回键退出应用,是十分简单的,添加如下代码即可实现:
//记录按键时间 privatelongexitTime; @Override publicbooleanonKeyDown(intkeyCode,KeyEventevent){ if(keyCode==KeyEvent.KEYCODE_BACK){ exit(); } returnsuper.onKeyDown(keyCode,event); } publicvoidexit(){ 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中添加如下代码:
//等待加载PhoneGap document.addEventListener("deviceready",onDeviceReady,false); //PhoneGap加载完毕 functiononDeviceReady(){ //按钮事件 document.addEventListener("backbutton",eventBackButton,false);//返回键 document.addEventListener("menubutton",eventMenuButton,false);//菜单键 document.addEventListener("searchbutton",eventSearchButton,false);//搜索键 } //返回键 functioneventBackButton(){ //confirm("再点击一次退出!"); window.plugins.ToastPlugin.show_short('再点击一次退出!'); document.removeEventListener("backbutton",eventBackButton,false);//注销返回键 //3秒后重新注册 varintervalID=window.setInterval( function(){ window.clearInterval(intervalID); document.addEventListener("backbutton",eventBackButton,false);//返回键 }, 3000 ); } //菜单键 functioneventMenuButton(){ window.plugins.ToastPlugin.show_short('点击了菜单按钮!'); } //搜索键 functioneventSearchButton(){ window.plugins.ToastPlugin.show_short('点击了搜索按钮!'); }
上面的脚本用到了Cordova的Toast插件,插件地址:
cordovapluginadd
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。