1 个回答

请求授权时需要触发动态授权弹窗,看一下是不是没有触发授权弹窗。你可以参考以下代码以及文档

// ets 
import identifier from '@ohos.identifier.oaid'; 
import hilog from '@ohos.hilog'; 
import { BusinessError } from '@ohos.base'; 
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; 
import common from '@ohos.app.ability.common'; 
 
@Entry 
@Component 
struct deviceDemo001 { 
 
  build() { 
    Column() { 
      Text('测试') 
        .width('100%') 
        .backgroundColor('#131313') 
        .height(50) 
        .fontColor(Color.White) 
        .onClick(()=>{ 
          const atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); 
          try { 
            let context = getContext(this) as common.UIAbilityContext; 
            atManager.requestPermissionsFromUser(context, ["ohos.permission.APP_TRACKING_CONSENT"]).then((data) => { 
              if (data.authResults[0] == 0) { 
                              identifier.getOAID((err: BusinessError, data: string) => { 
                  if (err.code) { 
                    hilog.error(0x0000, 'testTag', '%{public}s', `get oaid failed, error: ${err.code} ${err.message}`); 
                  } else { 
                    const oaid: string = data; 
                                     } 
                }); 
              } else { 
                            } 
            }).catch((err: BusinessError) => { 
           
            }) 
          } catch(err) { 
             } 
        }) 
    } 
  } 
}

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进