前言
$ionicPlatform.ready事件是用于檢測當(dāng)前的平臺是否就緒的事件,相當(dāng)于基于document的deviceready事件, 在app中一些通用關(guān)于設(shè)備的設(shè)置必須在這個事件中處理, 為了代碼的可讀性,我們把設(shè)置功能封裝成一個方法, 只要在該事件中調(diào)用就行了。
關(guān)鍵代碼和說明
.factory('setCommon', [ '$ionicPlatform', '$location', '$timeout', '$cordovaToast', '$ionicNativeTransitions', function ($ionicPlatform, $location, $timeout, $cordovaToast, $ionicNativeTransitions) { return function () { // 初始條件聲明 var backButtonPressedOnceToExit = false; // 設(shè)置啟動頁 navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide(); // 設(shè)置虛擬鍵盤和狀態(tài)欄 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); } // 設(shè)置物理硬件后退按鈕,只有安卓有效 $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); // 設(shè)置安卓物理硬件的普通后退 $ionicPlatform.onHardwareBackButton(function () { $ionicNativeTransitions.goBack(); }); }; }]);
以上所述是小編給大家介紹的ionic中的$ionicPlatform.ready事件中的通用設(shè)置,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
新聞熱點
疑難解答