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

来源:互联网 发布:ubuntu 断点续传工具 编辑:程序博客网 时间:2024/06/10 22:09

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            ]        );};




0 0