1import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; 2import type { Permissions } from '@ohos.abilityAccessCtrl'; 3 4const TAG = 'PermissionUtil'; 5 6export class PermissionUtil { 7 private static permissions: Array<Permissions> = ['ohos.permission.READ_CALENDAR']; 8 9 public static async requestOAIDTrackingConsentPermissions(context: any): Promise<void> { 10 let atManager = abilityAccessCtrl.createAtManager(); 11 return new Promise<void>(async (resolve, reject) => { 12 console.log(TAG, 'requestPermission begin'); 13 let data = await atManager.requestPermissionsFromUser(context, ['ohos.permission.APP_TRACKING_CONSENT']); 14 console.log(TAG, 'requestPermissionsFromUser data=' + JSON.stringify(data)); 15 if (data && data.authResults) { 16 let result = 0; 17 for (let i = 0; i < data.authResults.length; i++) { 18 result += data.authResults[i]; 19 } 20 if (result === 0) { 21 resolve(); 22 } else { 23 console.log(TAG, 'requestPermission user rejected'); 24 reject(); 25 } 26 } else { 27 console.log(TAG, 'requestPermission failed'); 28 reject(); 29 } 30 console.log(TAG, 'requestPermission end'); 31 }); 32 } 33}