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

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

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

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

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

在回调函数里就能够操做一些语句了。函数

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

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

var url = location.href;

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

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

4,退出app程序cordova

navigator.app.exitApp();

5,具体示例blog

// 连续点击返回按键,退出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);
    },        

 

,

相关文章
相关标签/搜索