使用cordova,监听安卓机物理返回按键,实现退出程序的功能

在使用html5开发app时,并不能像Android原生那样调取手机自身的方法。而cordova正好弥补了html5这一缺陷。

一,在cordova中文网http://cordova.axuer.com/docs/zh-cn/latest/,搜索"backbutton",如下图:

页面会自动查找backbutton的监听方法。

document.addEventListener("backbutton", onBackKeyDown, false);

在回调函数里就可以操作一些语句了。

二,实现双击返回键,退出程序

1,根据也页面的“url”,来判断是否符合“退出app”程序的操作

var url = location.href;

2,当满足退出app时,使用一个“backClick”标志点击了多少次返回按键

3,使用一个时间戳,标志当条件满足退出操作时,,再2s的时间内多次点击返回按键,再退出,大于2s,,重复上述判断。

4,退出app程序

navigator.app.exitApp();

5,具体示例

// 连续点击返回按键,退出app 
var backClick=0;// 退出点击次数,默认为0
function backbutton () {
        var time=new Date(); // 2s内再次点击就退出
        // 监听返回按钮
        document.addEventListener('backbutton', function(evt) {
            var url = location.href.split('/views/')[1].split('.')[0];
            // var urlList = location.href
            if(url=='index'){  // 处于app首页,满足退出app操作
                if(backClick){  // 不为0时
                    navigator.app.exitApp();  // app退出
                }else{
                    alert('再按一次退出二网助手');  // 提示信息
                  
                    if(new Date()-time<2000){// 小于2s,退出程序
                        backClick++;
                    }else{   // 大于2s,重置时间戳,
                        time = new Date();
                    }
                }
                return;
            }
                return;
            }
           
            history.back();  // 不满足退出操作,,返回上一页
        }, false);
    },        

 

,

posted @ 2017-12-12 20:22  左岸-oopp  阅读(6216)  评论(0编辑  收藏  举报