本文主要是介绍ionic中的$ionicPlatform.ready事件中的通用设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
$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 notionic.Platform.isIOS() ? StatusBar.overlaysWebView(true) : StatusBar.overlaysWebView(false); }// 设置物理硬件后退按钮,只有安卓有效var exitFlag = false;$ionicPlatform.registerBackButtonAction(function(e) {e.preventDefault();if (exitFlag) {return ionic.Platform.exitApp();}/* your-tab-path 如 : /tab/home */if ($location.path() == "your-tab-path1" || $location.path() == "your-tab-path2") {exitFlag = true;$cordovaToast.showShortBottom('再按一次退出!');$timeout(function() {exitFlag = false;}, 2000);} else {$ionicNativeTransitions.goBack(); // 执行后退}}, 110);};}]);
这篇关于ionic中的$ionicPlatform.ready事件中的通用设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!