前言
$ionicPlatform.ready事件是用于检测当前的平台是否就绪的事件,相当于基于document的deviceready事件, 在app中一些通用关于设备的设置必须在这个事件中处理, 为了代码的可读性,我们把设置功能封装成一个方法, 只要在该事件中调用就行了。
关键代码和说明
.factory('setCommon', [ '$ionicPlatform', '$location', '$timeout', '$cordovaToast', '$ionicNativeTransitions', function ($ionicPlatform, $location, $timeout, $cordovaToast, $ionicNativeTransitions) { return function () { // 初始条件声明 var backButtonPressedOnceToExit = 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(); // IOS overlay , Android not 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事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!