扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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中添加如下代码:
// 等待加载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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流