ionic中的$ionicPlatform.ready事件中的通用设置
前言
$ionicPlatform.ready事件是用于检测当前的平台是否就绪的事件,相当于基于document的deviceready事件,在app中一些通用关于设备的设置必须在这个事件中处理,为了代码的可读性,我们把设置功能封装成一个方法,只要在该事件中调用就行了。
关键代码和说明
.factory('setCommon',[
'$ionicPlatform',
'$location',
'$timeout',
'$cordovaToast',
'$ionicNativeTransitions',
function($ionicPlatform,$location,$timeout,$cordovaToast,$ionicNativeTransitions){
returnfunction(){
//初始条件声明
varbackButtonPressedOnceToExit=false;
//设置启动页
navigator.splashscreen&&navigator.splashscreen.hide&&navigator.splashscreen.hide();
//设置虚拟键盘和状态栏
if(window.cordova&&window.cordova.plugins&&window.cordova.plugins.Keyboard){
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar){
StatusBar.styleDefault();
//IOSoverlay,Androidnot
ionic.Platform.isIOS()?StatusBar.overlaysWebView(true):StatusBar.overlaysWebView(false);
}
//设置物理硬件后退按钮,只有安卓有效
$ionicPlatform.registerBackButtonAction(function(e){
e.preventDefault();
if(backButtonPressedOnceToExit){
ionic.Platform.exitApp();
}else{
/*your-tab-path如:/tab/home*/
if($location.path()=="your-tab-path1"||$location.path()=="your-tab-path2"){
backButtonPressedOnceToExit=true;
$cordovaToast.showShortBottom('再按一次退出!');
$timeout(function(){
backButtonPressedOnceToExit=false;
},2000);
}
}
},110);
//设置安卓物理硬件的普通后退
$ionicPlatform.onHardwareBackButton(function(){
$ionicNativeTransitions.goBack();
});
};
}]);
以上所述是小编给大家介绍的ionic中的$ionicPlatform.ready事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!