我正在使用ionic来开发混合移动应用程序。我的应用包含加载应用(load.js
)和核心应用(core.js
)。当应用首次启动时,它将加载load.js
并显示登录屏幕。用户登录后,它将连接到服务器并加载core.js
。这两个JS独立运行,无法直接通信。 load.js
仅在启动时使用,之后它就是"睡眠"在后面。
这种方法非常好用,除了硬件后退按钮。如果load.js
加载了离子,那么当用户点击硬件后退按钮时,应用程序将立即退出。我试过$ionicPlatform.offHardwareBackButton()
,但没有用。
那么,有没有办法删除load.js
上的硬件后退按钮而不从中删除离子?
答案 0 :(得分:2)
这是我用来禁用后退按钮的服务: https://gist.github.com/mircobabini/689955216a036544d594
.service( 'HardwareBackButtonManager', function($ionicPlatform){
this.deregister = undefined;
this.disable = function(){
this.deregister = $ionicPlatform.registerBackButtonAction(function(e){
e.preventDefault();
return false;
}, 101);
}
this.enable = function(){
if( this.deregister !== undefined ){
this.deregister();
this.deregister = undefined;
}
}
return this;
})
// usage
.controller( 'YourController', function( 'HardwareBackButtonManager' ){
HardwareBackButtonManager.disable();
// re-enable it when you want,
HardwareBackButtonManager.enable();
})