使用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);
    },        

 

,

相關文章
相關標籤/搜索