这里有新鲜出炉的精品教程,程序狗速度看过来!
$ionicPlatform.ready 事件是用于检测当前的平台是否就绪的事件,相当于基于 document 的 deviceready 事件, 在 app 中一些通用关于设备的设置必须在这个事件中处理
前言
$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 事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
来源: http://www.phperz.com/article/17/0821/338753.html