import UIAbility from '@ohos.app.ability.UIAbility'; import hilog from '@ohos.hilog'; import window from '@ohos.window'; import relationalStore from '@ohos.data.relationalStore' import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; // import featureAbility from '@ohos.ability.featureAbility' import { makedir } from '../common/service/fileService' import {Array2Byte} from '../common/utils/tools' export default class EntryAbility extends UIAbility { onCreate(want, launchParam) { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); } onDestroy() { const arrClose = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00] const arrCloseBuffer= Array2Byte(arrClose).buffer globalThis?.lightLineUdp?.send(arrCloseBuffer); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); } async onWindowStageCreate(windowStage: window.WindowStage) { // this.context // Main window is created, set main page for this ability hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); globalThis.carInfo = {} globalThis.examinerInfo = {} globalThis.deviceNo = ''; globalThis.hasAuth = false // globalThis.version = '2024.11.22.14' globalThis.version = '2022.03.14.01' globalThis.context = this.context; globalThis.pathDir = this.context.filesDir; console.info('jiangsong globalThis.pathDir = ' + globalThis.pathDir); // this.requestPermission(this.context) // this.featureAbilityAuth() const windowClass = await windowStage.getMainWindow(); globalThis.windowClass = windowClass await windowClass.setWindowLayoutFullScreen(true) // await windowClass.setWindowSystemBarEnable([]) await windowClass.setWindowSystemBarEnable(['navigation']) windowStage.loadContent('pages/Index', (err, data) => { if (err.code) { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); }); this.userAuth(); this.creatFiles(); } onWindowStageDestroy() { // Main window is destroyed, release UI related resources hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); } onForeground() { // Ability has brought to foreground hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); } onBackground() { // Ability has back to background hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); } creatFiles() { makedir('/testFile'); } userAuth() { const permissions: Array = ['ohos.permission.CAMERA','ohos.permission.READ_MEDIA','ohos.permission.WRITE_MEDIA','ohos.permission.FILE_ACCESS_MANAGER']; let context = this.context; let atManager = abilityAccessCtrl.createAtManager(); // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 atManager.requestPermissionsFromUser(context, permissions).then((data) => { let grantStatus: Array = data.authResults; let length: number = grantStatus.length; for (let i = 0; i < length; i++) { if (grantStatus[i] === 0) { // 用户授权,可以继续访问目标操作 } else { // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 return; } } // 授权成功 }).catch((err) => { console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`); }) } }