fix: 授权代码优化
This commit is contained in:
		
							parent
							
								
									3f6137f4f2
								
							
						
					
					
						commit
						84bf4184e3
					
				| @ -4,7 +4,6 @@ import { BusinessError } from '@ohos.base'; | ||||
| import { CommonFileTag } from '../config'; | ||||
| import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; | ||||
| import Prompt from '@system.prompt'; | ||||
| import { dConsole } from './LogWorker'; | ||||
| import common from '@ohos.app.ability.common'; | ||||
| 
 | ||||
| enum timeType { | ||||
| @ -263,10 +262,7 @@ export function ApplyForAuthorization(context: Context, permissionList: Array<Pe | ||||
|   * @return 返回一个 Promise,解析为 true 如果授权成功,否则为 false | ||||
|  */ | ||||
| export async function UseAuth(context: common.UIAbilityContext): Promise<boolean> { | ||||
|   dConsole.log("权限授权开始1") | ||||
|   return new Promise((resolve, reject) => { | ||||
|     const permissions: Array<Permissions> = | ||||
|       [ | ||||
|   const permissions: Array<Permissions> = [ | ||||
|     "ohos.permission.SET_TIME", | ||||
|     "ohos.permission.READ_IMAGEVIDEO", | ||||
|     "ohos.permission.DISTRIBUTED_DATASYNC", | ||||
| @ -276,22 +272,16 @@ export async function UseAuth(context: common.UIAbilityContext): Promise<boolean | ||||
|     "ohos.permission.WRITE_MEDIA", | ||||
|     "ohos.permission.FILE_ACCESS_MANAGER" | ||||
|   ]; | ||||
|     dConsole.log("权限授权开始2") | ||||
|     abilityAccessCtrl.createAtManager().requestPermissionsFromUser(context, permissions).then(res => { | ||||
|       let grantStatus: Array<number> = res.authResults; | ||||
|       let length: number = grantStatus.length; | ||||
|       dConsole.log("权限", length) | ||||
|       dConsole.log("权限状态", JSON.stringify(grantStatus)) | ||||
|       resolve(true) | ||||
|       for (let i = 0; i < length; i++) { | ||||
|         if (grantStatus[i] !== 0) { | ||||
|           reject(false) | ||||
|           return; | ||||
| 
 | ||||
|   try { | ||||
|     const res = await abilityAccessCtrl.createAtManager().requestPermissionsFromUser(context, permissions); | ||||
|     const grantStatus = res.authResults; | ||||
|     if (grantStatus.every(status => status === 0)) { | ||||
|       return true; | ||||
|     } else { | ||||
|       return false; | ||||
|     } | ||||
|   } catch (err) { | ||||
|     return false; | ||||
|   } | ||||
|     }).catch((err: BusinessError) => { | ||||
|       dConsole.error("获取权限失败", JSON.stringify(err)) | ||||
|       reject(false) | ||||
|     }) | ||||
|   }) | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user