ionic通过$ionicPlatform.registerBackButtonAction控制安卓物理返回键,注册较高优先级的事件可阻止低优先级事件的执行,所以注册以后记得注销,不然ionic默认的低优先级事件将不能正常使用。
ionic各返回事件优先级如下:
var PLATFORM_BACK_BUTTON_PRIORITY_VIEW = 100;
var PLATFORM_BACK_BUTTON_PRIORITY_SIDE_MENU = 150;
var PLATFORM_BACK_BUTTON_PRIORITY_MODAL = 200;
var PLATFORM_BACK_BUTTON_PRIORITY_ACTION_SHEET = 300;
var PLATFORM_BACK_BUTTON_PRIORITY_POPUP = 400;
var PLATFORM_BACK_BUTTON_PRIORITY_LOADING = 500;
用法如下:
var deregister = $ionicPlatform.registerBackButtonAction(
function () {
console.log("close the popup")
}, 100
);
//Then when this scope is destroyed, remove the function
$scope.$on('$destroy', deregister);// 注销地方不限,根据需求来
注销方法:$ionicPlatform.registerBackButtonAction方法调用后会返回一个函数,当这个函数被再次调用时 这个注册事件就会被销毁了。