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 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中的$ionicPlatform.ready事件中的通用设置 的全部内容, 来源链接: utcz.com/z/319699.html

回到顶部