JavaScript

超轻量级php框架startmvc

ionic中的$ionicPlatform.ready事件中的通用设置

更新时间:2020-05-17 05:36:01 作者:startmvc
前言$ionicPlatform.ready事件是用于检测当前的平台是否就绪的事件,相当于基于document的devicere

前言

$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事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

ionic platform.ready ionic 事件