Android中cordova实现再次点击退出程序功能
<!DOCTYPE html>
<html>
<head>
<title>Back Button Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" ">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
document.addEventListener("backbutton", shutdown, false);
}
var beginDate; // 两次点击退出按钮开始时间
var isToast = false; // 是否弹出弹框
// 点击退出按钮
function shutdown() {
var endDate = new Date().getTime(); // 两次点击退出按钮结束时间
// 提示过Toast并且两次点击时间小于2S
if ( isToast && endDate - beginDate < 2000 ) {
beginDate = endDate;
isToast = false;
navigator.app.exitApp();
} else Toast('再次点击退出程序',2000);
}
//自定义弹框 2s消失
function Toast(msg,duration){
isToast = true;
beginDate = new Date().getTime();
duration=isNaN(duration)?3000:duration; // duration是不是一个数字
var m = document.createElement('div');
m.innerHTML = msg;
m.style.cssText="width:60%; min-width:150px; background:#000; opacity:0.5; height:40px; color:#fff; line-height:40px; text-align:center; border-radius:5px; position:fixed; top:80%; left:20%; z-index:999999; font-weight:bold;";
document.body.appendChild(m);
setTimeout(function() {
var d = 0.5;
m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';
m.style.opacity = '0';
setTimeout(function() { document.body.removeChild(m) }, d * 1000);
}, duration);
}
</script>
</head>
<body οnlοad="onLoad()">
</body>
</html>