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