录音授权实现

目标:使用权限请求工具,在录音页面实现请求权限,无权限不可进入

// 定义需要请求的权限数组
permissions: Permissions[] = ['ohos.permission.MICROPHONE']

// 定义弹窗配置选项
confirmConfig: promptAction.ShowDialogOptions = {
  title: "温馨提示", // 弹窗标题
  message: "未授权使用麦克风将无法使用该面试录音功能,是否前往设置进行授权?", // 弹窗消息内容
  buttons: [ // 弹窗按钮配置
    { text: '离开', color: $r('app.color.common_gray_01') }, // 第一个按钮配置
    { text: '去授权', color: $r('app.color.black') } // 第二个按钮配置
  ]
}

// 请求权限的方法
async getPermission () {
  try {
    // 第一次请求权限
    const isOk = await permission.requestPermissions(this.permissions)
    if (isOk) return // 如果用户授权,则直接返回

    // 显示提示弹窗
    const confirm = await promptAction.showDialog(this.confirmConfig)
    if (confirm.index === 1) { // 如果用户点击了“去授权”按钮
      const isOk2 = await permission.openPermissionSetting(this.permissions)
      if (isOk2) return // 如果在设置中授权成功,则直接返回
    }

    // 如果最终没有获取到权限,则返回上一页
    router.back()
  } catch (e) {
    // 显示错误提示
    promptAction.showToast({ message: '未授权' })
    // 返回上一页
    router.back()
  }
}

// 页面即将显示时调用此方法
aboutToAppear(): void {
  this.getPermission() // 调用权限请求方法
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值