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. HTML5 页面获取权限需要使用哪些接口?

在小程序的 HTML5 页面中,可使用以下接口获取对应权限:

# 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. 如果获取权限时失败,会返回什么信息?又该如何处理?

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

  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 ❤