ionic app 打包apk之后,手机上返回键点击效果是退出,
需要实现效果:1、特定页面双击返回键退出,单击一次会出现“在点击一次退出”提示
2、除上一条以外的页面,点击返回键,返回到上一个页面,路由使用的是ui-router
请问以上两个效果该怎么实现
搞定了
.run(['$ionicPlatform', '$rootScope', '$location', '$timeout', '$ionicHistory', '$cordovaToast', '$cordovaKeyboard', function($ionicPlatform, $rootScope, $location, $timeout, $ionicHistory, $cordovaToast, $cordovaKeyboard) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleLightContent();
}
});
//物理返回按钮控制&双击退出应用
$ionicPlatform.registerBackButtonAction(function(e) {
//判断处于哪个页面时双击退出
if ($location.path() == '/app/playlists' || $location.path() == '/app/search') {
if ($rootScope.backButtonPressedOnceToExit) {
ionic.Platform.exitApp();
} else {
$rootScope.backButtonPressedOnceToExit = true;
$cordovaToast.showShortBottom('再按一次退出系统');
setTimeout(function() {
$rootScope.backButtonPressedOnceToExit = false;
}, 2000);
}
} else if ($ionicHistory.backView()) {
if ($cordovaKeyboard.isVisible()) {
$cordovaKeyboard.close();
} else {
$ionicHistory.goBack();
}
} else {
$rootScope.backButtonPressedOnceToExit = true;
$cordovaToast.showShortBottom('再按一次退出系统');
setTimeout(function() {
$rootScope.backButtonPressedOnceToExit = false;
}, 2000);
}
e.preventDefault();
return false;
}, 101);
在特殊页面加个标记,进入特殊页面后就把标记置成true,然后在run方法中监听返回键。监听方法中判断特殊标记是不是true,是就显示双击退出逻辑,不是就返回上一页。