鸿蒙Next-获取系统权限-获取麦克风权限

1.需要先在配置文件中,声明应用需要请求的权限,且设置需要使用的场景+使用原因

    "requestPermissions": [
      // 申请的网络权限
      { "name": "ohos.permission.INTERNET" },
      {
        // 申请麦克风权限
        "name": "ohos.permission.MICROPHONE",
        "usedScene": {},
        // 申请麦克风权限的原因
        "reason": "$string:reason_microphone"
      }
    ],

    {
      "name": "MICROPHONE",
      "value": "用于说明为什么要申请麦克风权限"
    }

2.调用 requestPermissionsFromUser() 方法后,应用程序将等待用户授权的结果。如果用户授权,则可以继续访问目标操作。如果用户拒绝授权,则需要提示用户必须授权才能访问当前页面的功能,并引导用户到系统应用“设置”中打开相应的权限。

3.拉起麦克风权限的授权提示框

示例代码如下:

import { abilityAccessCtrl } from '@kit.AbilityKit'
import { promptAction } from '@kit.ArkUI'

@Entry
@Component
struct AudioPage {
  async aboutToAppear() {
    // 1. 创建权限管理对象
    const atManager = abilityAccessCtrl.createAtManager()
    // 2. 弹窗授权窗口
    const res = await atManager.requestPermissionsFromUser(getContext(this), ['ohos.permission.MICROPHONE'])
    // 3. 判断用户是否授权
    // abilityAccessCtrl.GrantStatus 枚举 0-PERMISSION_GRANTED(已授权)  -1-PERMISSION_DENIED(未授权)
    const flag = res.authResults.every(item => item === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED)
    promptAction.showToast({ message: flag ? '已授权' : '已禁用' })
  }

  build() {
    Column() {
      Row()
        .height(200)
        .width('100%')
      Button('开始录音')
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值