當時用的是ionic開發一個app,需求是,當按下手機的返回按鈕,在指定的頁面雙擊退出,而在其他頁面點擊一次返回到上個頁面;
其實用ionic自帶的服務就可以解決:
//雙擊退出 $ionicPlatform.registerBackButtonAction(function (e) { //判斷處於哪個頁面時雙擊退出 if($location.path() =='/message' || $location.path() =='/work' || $location.path() =='/mine' || $location.path()=='/login'){ if ($rootScope.backButtonPressedOnceToExit) { $rootScope.disconnect(); ionic.Platform.exitApp(); } else { $rootScope.backButtonPressedOnceToExit = true; $CommonFactory.showToast('再按一次退出程序',"short","bottom"); $timeout( function () { $rootScope.backButtonPressedOnceToExit = false; }, 2000); } }else{ $CommonFactory.topBack(); } e.preventDefault(); return false; }, 101);
但是,我用了hbuider的編輯器,可以一邊調試一邊在手機上看,所有就出現了不能夠返回退出;
在Hbuider中也可以實現監聽手機返回鍵:
document.addEventListener("plusready", function(e) { plus.key.addEventListener('backbutton', function(e) { plus.nativeUI.confirm("退出程序?", function(event) { if (event.index) { plus.runtime.quit(); } }, null, ["取消", "確定"]); }, false); });
因為ionic是基於PhoneGap的編譯平台,所以使用Hbuilder調試時沒有效果;
使用ionic打包之后應該會沒問題了把!