harmony-utils之AppUtil,APP相关工具类 电子说
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志、异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含 PickerUtil、PhotoHelper、ScanUtil。
下载安装ohpm i @pura/harmony-utilsohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
let bl = AppUtil.isApiSupported(18);
let applicationContext = AppUtil.getApplicationContext();
let uiContext = AppUtil.getUIContext();
let windowStage = AppUtil.getWindowStage();
LogUtil.error(JSON.stringify(windowStage, null, 2));
let mainWindow = AppUtil.getMainWindow();
let config = AppUtil.getConfiguration();
AppUtil.setGrayScale(1);
AppUtil.setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);
let colorMode = AppUtil.getColorMode();
ToastUtil.showToast(`应用的颜色模式:${colorMode}`);
font.registerFont({ familyName: 'WCSF', familySrc: $rawfile('wcsf.ttf') });
AppUtil.setFont('WCSF');
AppUtil.setFontSizeScale(1.8);
let fontSizeScale = AppUtil.getFontSizeScale();
ToastUtil.showToast(`应用字体大小缩放比例:${fontSizeScale}`);
AppUtil.setLanguage('zh-cn');
let language = AppUtil.getLanguage();
ToastUtil.showToast(`应用的语言:${language}`);
AppUtil.setSupportedProcessCache(true);
DialogHelper.showAlertDialog({
content: '是否清理应用本身的数据?',
primaryButton:'取消',
secondaryButton:'清理',
onAction: (action) = > {
if (action === DialogAction.SURE) {
AppUtil.clearUpApplicationData();
}
}
});
DialogHelper.showAlertDialog({
content: '是否终止应用的所有进程?',
primaryButton:'取消',
secondaryButton:'终止',
onAction: (action) = > {
if (action === DialogAction.SURE) {
AppUtil.killAllProcesses();
}
}
});
DialogHelper.showAlertDialog({
autoCancel: false,
backCancel: false,
content: '是否重启应用?',
primaryButton:'取消',
secondaryButton:'重启',
onAction: (action) = > {
if (action === DialogAction.SURE) {
AppUtil.restartApp();
}
}
});
DialogHelper.showAlertDialog({
content: '是否重退出应用?',
primaryButton:'取消',
secondaryButton:'退出',
onAction: (action) = > {
if (action === DialogAction.SURE) {
AppUtil.exit();
}
}
});
let processInformation = await AppUtil.getRunningProcessInformation();
private applicationStateChangeCallback: ApplicationStateChangeCallback = {
onApplicationForeground() {
LogUtil.warn('applicationStateChangeCallback onApplicationForeground');
},
onApplicationBackground() {
LogUtil.warn('applicationStateChangeCallback onApplicationBackground');
}
};
AppUtil.onApplicationStateChange(this.applicationStateChangeCallback);
AppUtil.offApplicationStateChange(this.applicationStateChangeCallback);
private environmentCallback: EnvironmentCallback = {
onConfigurationUpdated(config) {
LogUtil.warn(`onConfigurationUpdated config:n${JSON.stringify(config, null)}`);
},
onMemoryLevel(level) {
LogUtil.warn(`onMemoryLevel level: ${level}`);
}
};
this.callback1 = AppUtil.onEnvironment(this.environmentCallback);
AppUtil.offEnvironment(this.callback1);
private abilityLifecycleCallback: AbilityLifecycleCallback = {
onAbilityCreate(ability) {
LogUtil.info(`AbilityLifecycleCallback onAbilityCreate ability: ${ability}`);
},
onWindowStageCreate(ability, windowStage) {
LogUtil.info(`AbilityLifecycleCallback onWindowStageCreate ability: ${ability}`);
LogUtil.info(`AbilityLifecycleCallback onWindowStageCreate windowStage: ${windowStage}`);
},
onWindowStageActive(ability, windowStage) {
LogUtil.info(`AbilityLifecycleCallback onWindowStageActive ability: ${ability}`);
LogUtil.info(`AbilityLifecycleCallback onWindowStageActive windowStage: ${windowStage}`);
},
onWindowStageInactive(ability, windowStage) {
LogUtil.info(`AbilityLifecycleCallback onWindowStageInactive ability: ${ability}`);
LogUtil.info(`AbilityLifecycleCallback onWindowStageInactive windowStage: ${windowStage}`);
},
onWindowStageDestroy(ability, windowStage) {
LogUtil.info(`AbilityLifecycleCallback onWindowStageDestroy ability: ${ability}`);
LogUtil.info(`AbilityLifecycleCallback onWindowStageDestroy windowStage: ${windowStage}`);
},
onAbilityDestroy(ability) {
LogUtil.info(`AbilityLifecycleCallback onAbilityDestroy ability: ${ability}`);
},
onAbilityForeground(ability) {
LogUtil.info(`AbilityLifecycleCallback onAbilityForeground ability: ${ability}`);
},
onAbilityBackground(ability) {
LogUtil.info(`AbilityLifecycleCallback onAbilityBackground ability: ${ability}`);
},
onAbilityContinue(ability) {
LogUtil.info(`AbilityLifecycleCallback onAbilityContinue ability: ${ability}`);
}
};
this.callback2 = AppUtil.onAbilityLifecycle(this.abilityLifecycleCallback);
AppUtil.offAbilityLifecycle(this.callback2);
let mode = AppUtil.getKeyboardAvoidMode();
AppUtil.setKeyboardAvoidMode(KeyboardAvoidMode.OFFSET)
let isPortrait = AppUtil.isPortrait();
ToastUtil.showToast(`当前是否竖屏: ${isPortrait}`);
let isLandscape = AppUtil.isLandscape();
ToastUtil.showToast(`当前是否横屏: ${isLandscape}`);
let statusBarHeight = AppUtil.getStatusBarHeight();
ToastUtil.showToast(`状态栏的高度为:${statusBarHeight}px`)
let indicatorHeight = AppUtil.getNavigationIndicatorHeight();
ToastUtil.showToast(`底部导航条的高度为:${indicatorHeight}px`)
AppUtil.setStatusBar();
let bundleInfo = AppUtil.getAppInfoSync();
let infoStr = JSON.stringify(bundleInfo, null, 2);
let appInfo = AppUtil.getAppInfoSync();
let infoStr = JSON.stringify(appInfo, null, 2);
let signatureInfo = await AppUtil.getSignatureInfo();
let infoStr = JSON.stringify(signatureInfo, null, 2);
let bundleName = AppUtil.getBundleName();
let versionCode = AppUtil.getVersionCode();
let versionName = AppUtil.getVersionName();
let targetVersion = AppUtil.getTargetVersion();
let installTime = AppUtil.getInstallTime();
let updateTime = AppUtil.getUpdateTime();
let appProvisionType = AppUtil.getAppProvisionType();
let debug = AppUtil.debug();
全部0条评论
快来发表一下你的评论吧 !