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

时间:2021-05-28

前言

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章