對於後臺代碼退出手機應用這塊就不用介紹了,網上這種方法太多了,我來說一下純html頁面退出手機應用的解決方案
http://dcloudio.github.io/mui/javascript/#closewindow
在以上網址中介紹了一種關閉頁面的方法,其中代碼是這樣的
//備份mui.back,mui.back已將窗口關閉邏輯封裝的比較完善(預加載及父子窗口),因此最好複用mui.back
var old_back = mui.back;
mui.back = function(){
var btn = ["確定","取消"];
mui.confirm('確認關閉當前窗口?','Hello MUI',btn,function(e){
if(e.index==0){
//執行mui封裝好的窗口關閉邏輯;
old_back();
}
});
}
但是我用的 Hbuilder 開發將這些代碼寫入html中的javaScript,還是未能實現,其mui.back 只是退出了彈出框,又回到了軟件主頁。
總之就是搜索了很多方法都未能成功,參考的其他軟件代碼都比較繁瑣,由於開發任務較重,也沒有精簡代碼到最少。以下是我的解決方案。
在登陸頁面要是退出的話,在<script>中寫入
mui.init({
keyEventBind:{
backbutton:true
}
});
這是設置監聽手機返回鍵有效,因爲要捕獲手機返回鍵。 我看了網上的介紹說是默認設置爲監聽有效,但是我沒有去試,所以手動設置監聽有效。
以下是設置退出應用。(彈出框百試無效,所以做了個兩次返回鍵退出應用)
var first=null;
mui.back=function(){
if(!first){
first=new Date().getTime();
mui.toast('再按一次退出系統!');
setTimeout(function(){
first=null;
},2000);
}else{
if(new Date().getTime()-first<2000){
plus.runtime.quit();
}
}
};
這段代碼中2000是設置兩秒內再按一次返回鍵則退出應用。將上述兩段代碼放到登陸頁面的script中就可以退出應用了。大家可以試一下去掉監聽設置看能不能返回,歡迎評論本文!