HarmonyOS 申请麦克风权限具体操作步骤

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以直接在进入页面aboutAppear的时候直接调用该方法,向用户申请权限,也可以在点击按钮的时候调用方法向用户申请权限:

import { abilityAccessCtrl, common, Permissions } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

function requestMicrophonePermission(context: common.UIAbilityContext,
  permissionResult: (allow: boolean) => void): void {
  let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
  // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
  let permissions: Array<Permissions> = ['ohos.permission.MICROPHONE'];
  atManager.requestPermissionsFromUser(context, permissions).then((data) => {
    let grantStatus: Array<number> = data.authResults;
    let length: number = grantStatus.length;
    for (let i = 0; i < length; i++) {
      if (grantStatus[i] === 0) {
        // 用户授权,可以继续访问目标操作
        permissionResult(true);
        console.debug("麦克风授权成功:用户授权")
      } else {
        // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
        permissionResult(false);
        console.debug("麦克风授权失败:用户拒绝")
        return;
      }
    }
    // 授权成功
  }).catch((err: BusinessError) => {
    permissionResult(false);
    console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
  })
}

@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Button('xxxx').onClick(() => {
          console.log('xxx')
          requestMicrophonePermission(getContext(this) as common.UIAbilityContext, () => {
          });
        })
      }
      .height('100%')
    }
  }
}

向用户授权的指导文档,可以check应用是否授权,参考文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/request-user-authorization-V5

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 麦克风权限不弹窗
58浏览 • 1回复 待解决
鸿蒙webview调用摄像头和麦克风
2262浏览 • 0回复 待解决
HarmonyOS 不同app之间麦克风抢占问题
483浏览 • 1回复 待解决
HarmonyOS如何从麦克风录制mp3文件
876浏览 • 1回复 待解决
动态申请权限步骤是怎样的?
502浏览 • 1回复 待解决
HarmonyOS 动态申请权限申请不了
36浏览 • 1回复 待解决
HarmonyOS 位置权限申请
35浏览 • 1回复 待解决
HarmonyOS权限申请问题
449浏览 • 1回复 待解决
HarmonyOS 权限申请拒绝问题
76浏览 • 1回复 待解决
HarmonyOS 上架分发具体该怎么操作
224浏览 • 1回复 待解决
HarmonyOS 申请ACL权限有无模板?
112浏览 • 1回复 待解决
HarmonyOS SaveButton 申请临时权限失败
433浏览 • 1回复 待解决