FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 权限接口常见问题

# 1. 小程序原生页面要获取权限时该使用哪些接口?

# 1.1 iOS端

  • 相机权限:二维码扫描接口(scanCode)、选择图片接口(chooseImage)拍照、选择视频接口(chooseVideo)录像、Camera组件(CameraContext);
  • 相册读取权限:选择图片接口(chooseImage)读取相册图片、选择视频接口(chooseVideo)读取相册视频;
  • 相册写入权限:保存图片至相册(saveImageToPhotosAlbum)、保存视频至相册(saveVideoToPhotosAlbum);
  • 麦克风权限:录音接口(startRecord)、选择视频接口(chooseVideo)录像、Camera组件(CameraContext);
  • 地理位置权限:获取地理位置接口(getLocation)、选择地理位置接口(chooseLocation)、使用地图查看位置(openLocation)、打开POI列表选择位置(choosePoi)、Map组件;
  • 蓝牙权限:蓝牙-通用、蓝牙-低功耗中心设备、蓝牙-低功耗外围设备、蓝牙-信标等一系列api
  • 后台音频播放: BackgroundAudioManager后台播放音频的能力,需要用户自行在target-capabilities处添加background Modes 并勾选 audio,AirPlay,and Picture in Picture

# 1.2 Android端

  • 相机权限:二维码扫描接口(scanCode)、选择图片接口(chooseImage)拍照、选择视频接口(chooseVideo)录像;
  • 麦克风权限:录音接口(startRecord);
  • 存储权限:选择文件接口(chooseMessageFile)、选择图片接口(chooseImage)从相册选择、选择视频接口(chooseVideo)从相册选择;
  • 地理位置权限:获取地理位置接口(getLocation)、选择地理位置接口(chooseLocation);

# 1.3 详细接口文档

# 2. 小程序中的H5页面要获取权限时该使用哪些接口?

# 2.1 iOS端

  • 相机权限:选择图片接口(ft.miniProgram.chooseImage)拍照
  • 相册权限:选择图片接口(ft.miniProgram.chooseImage)从相册选择

# 2.2 Android端

  • 相机权限:选择图片接口(ft.miniProgram.chooseImage)拍照
  • 存储权限:选择图片接口(ft.miniProgram.chooseImage)从相册选择

注:目前权限相关的JSSDK仅支持接口(ft.miniProgram.chooseImage)

# 2.3 详细接口文档

# 3. 如果上述接口在获取权限时失败,会返回什么信息?小程序和H5页面又该如何处理?

对于未获取到权限的情况分以下两种:

  1. 首先在SDK中,是支持将SDK设置为禁止向APP主动获取权限的,设置后SDK会禁止小程序主动调用接口去获取权限。
    这种情况下,在小程序中无论是H5页面还是小程序原生页面请求权限时,都会执行调用api时传递的fail回调方法,返回res,在res的errMsg中包含失败的原因(比如chooseImage:fail unauthorized disableauthorized,无相册访问权限);

    关于如何将禁用SDK权限申请的设置请参考下述文档:

  2. 其次,如果是用户未授权的情况,调用api失败后会执行fail回调方法,返回res,在res的errMsg中包含失败的原因(比如chooseImage:fail unauthorized);

对于上述两种获取不到权限的情况,无论是小程序页面或H5页面都需要根据回调返回的失败信息,自行实现提示弹窗,提示用户开启相应的权限,比如在回调中发现没有相机或相册的权限信息为fail时,应在页面增加弹窗提示,如“请在系统中允许APP访问您的相机或相册权限”。

© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

0755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单