多平台统一管理软件接口,如何实现多平台统一管理软件接口
309
2023-05-08
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-path2jJRxw") {
backButtonPressedOnceToExit = true;
$cordovaToast.showShortBottom('再按一次退出!');
$timeohttp://ut(function () {
backButtonPressedOnceToExit = false;
}, 2000);
}
}
}, 110);
// 设置安卓物理硬件的普通后退
$ionicPlatform.onHardwareBackButton(function () {
$ionicNativeTransitions.goBack();
});
};
}]);
以上所述是给大家介绍的ionic中的$ionicPlatform.ready事件中的通用设置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,会及时回复大家的!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~