您的位置:首页 > 移动开发 > WebAPP

webapp 双击安卓原生回退按钮实现退出应用程序小实例

2016-10-27 10:51 344 查看
js如果要监听安卓手机原生回退按钮,只能通过cordova的backbutton事件来实现,具体实现方法如下:

html代码:

<!DOCTYPE html>
<html>
<head>
<title>回退按钮小实例</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="testBackBtn.js"></script>
</head>

<body onload="onLoad()">
</body>

</html>


testBackBtn.js代码

//等待API库装载
function onLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
}

//API装载完毕
function onDeviceReady() {
// 注册事件监听
document.addEventListener("backbutton", exitMyApp, false);
}

//绑定给安卓回退按钮的回调事件(双击回退按钮退出程序)
var currentTime,firstTime,secondTime,clickCount=0;

function exitMyApp(){
clickCount++;
var msg="再按一次返回键关闭程序";
//公司封装的弹出框,不必参考
cmp.notification.toast(msg, 'bottom', 1000);
currentTime=new Date();
if(clickCount==1) {
firstTime=currentTime.getSeconds()+currentTime.getMinutes()*60+currentTime.getHours()*3600;
}else if(clickCount==2){
secondTime=currentTime.getSeconds()+currentTime.getMinutes()*60+currentTime.getHours()*3600;
//两秒之类连续按才能退出应用程序
if(secondTime-firstTime<2){
//公司安卓小伙伴提供的退出应用程序接口(其中的类和方法是按cordova规范写的,仅供参考)
cordova.exec(
function success(res) {

},
function error(res) {

},
"CMPExitAppPlugin",
"exitApp",
[{
//不需要参数
}]
);
}else {
clickCount=0;
}
}
}


你还可以让安卓小伙伴提供一个去除backbutton的监听的方法(这个是cordova内部自己实现的)

function overrideBackbutton(){
cordova.exec(
function(){},
function(){},
"CoreAndroid",
"overrideBackbutton",
[
false
]
);
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: