对讲录制权限
在 IPC 面板开发过程中,针对对讲、录制、截图等功能需要主动获取对应权限
- 对讲功能:麦克风权限 (
scope.record) - 录制、截图功能:存储写入 相册/存储 权限 (
scope.writePhotosAlbum)
问题背景
-
在自定义调用需要权限的功能时, 在 ios、android 等手机系统,首次申请相关权限时,系统会弹出权限申请弹窗,用户可以选择允许或拒绝。
-
⚠️ 一旦用户拒绝,系统将不再自动弹窗,且现有 API 无法再次触发系统权限申请弹窗。此时调用权限相关 API 会报错,需要开发者主动引导用户前往系统设置手动开启权限。
推荐方案
1. 对讲功能
开启对讲
- 获取麦克风权限状态 (
ty.authorizeStatus) - 若返回 (
fail),表示从未申请过 → 调用 (ty.authorize) 申请权限 - 若 (
ty.authorize) 仍返回 (fail) → 用户曾拒绝权限 → 显示自定义弹窗引导去系统设置 - 其余成功 (
success) 回调,表示用户已授权,可直接调用对讲功能
示例代码
2. 录制截图功能
开启录制或截图
- 获取 相册/存储 权限状态 (
ty.authorizeStatus) - 若返回 (
fail),表示从未申请过 → 调用 (ty.authorize) - 若 (
ty.authorize) 返回 (fail) → 用户曾拒绝 → 引导去系统设置手动开启 - 若返回 (
success) → 表示权限已开启,可直接使用录制或截图功能
💡 注意 录制功能开启后,需在3秒后再调用录制结束功能, 否则大概率报错
示例代码