cordova返回键退出程序

cordova源码中返回键已经被WebView处理掉了,所以只能在js中处理返回键!

注册事件监听,代表性的调用document.addEventListener,一旦你注册了 deviceready事件。

不再需要调用任何其他方法来覆盖theback-button行为。

代码1:

document.addEventListener("deviceready", onDeviceReady, false);
			
function onDeviceReady() {
	//navigator.splashscreen.hide();
        document.addEventListener("backbutton", onBackKeyDown, false);                     
}
			function onBackKeyDown() {
			    Toast.showShort('再点击一次退出!');
			    document.removeEventListener("backbutton", onBackKeyDown, false); // 注销返回键
			    document.addEventListener("backbutton", exitApp, false);//绑定退出事件
			    // 3秒后重新注册
			    var intervalID = window.setInterval(function() {
			        window.clearInterval(intervalID);
			        document.removeEventListener("backbutton", exitApp, false); // 注销返回键
			        document.addEventListener("backbutton", onBackKeyDown, false); // 返回键
			    }, 3000);
			}
			function exitApp(){
			    navigator.app.exitApp();
			}

代码2:

// 等待加载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('点击了 搜索 按钮!');
}

都差不多。


http://gundumw100.iteye.com/blog/2099021


你可能感兴趣的:(cordova)