当时用的是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打包之后应该会没问题了把!