privacy

location calendars photos microphone

概述

privacy 模块封装了 iOS 平台上设备访问权限判断的接口,包括定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机、健康。由于 Android 平台上机制不同,所以本模块仅支持 iOS 平台。(Android 上是在应用打包时候注册某一项权限,用户安装时系统弹出提示,若用户同意则安装该 app,若不同意则取消安装。所以若应用被安装成功,则必定有 app 开发者注册给该应用的权限,应用内无需判断。)

注意:

使用本模块需在云编译时勾选添加定位、通讯录、日历、提醒、相册、蓝牙、麦克风、相机的权限提示,否则发布App Store时候不通过。如果只是用来判断相机、通讯录、麦克风、相册、定位、日历的话请使用api对象下的 hasPermission 接口,不要使用本模块,这样云编译时就不用添加日历、提醒、蓝牙的权限提醒语了。

location

判断是否有定位权限

location(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. privacy.location(function(ret, err) {
  2. if (ret.status) {
  3. alert(JSON.stringify(ret));
  4. } else {
  5. alert(JSON.stringify(err));
  6. }
  7. });

可用性

iOS 系统

可提供的1.0.0及更高版本

contacts

判断是否有访问联系人权限

contacts(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限))
  2. details: '' //字符串类型;权限详情,取值范围如下:
  3. //notDetermined: 用户从未选择过权限
  4. //restricted:无法访问手机通讯录,该状态用户无法改变
  5. //denied:户拒绝该应用访问手机通讯录,或是访问手机通讯录服务总开关处于关闭状态
  6. //authorized:用户允许该程序可以访问手机通讯录
  7. }

示例代码

  1. var privacy = api.require('privacy');
  2. privacy.contacts(function(ret, err) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS 系统

calendars

判断是否有访问日历权限

calendars(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
  3. details: '' //字符串类型;权限详情,取值范围如下:
  4. //notDetermined: 用户从未选择过权限
  5. //restricted:无法访问手机日历,该状态用户无法改变
  6. //denied:户拒绝该应用访问手机日历,或是访问手机日历服务总开关处于关闭状态
  7. }

可用性

iOS 系统

可提供的1.0.0及更高版本

reminders

判断是否有访问提醒事项的权限

reminders(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
  3. details: '' //字符串类型;权限详情,取值范围如下:
  4. //notDetermined: 用户从未选择过权限
  5. //restricted:无法访问手机提醒,该状态用户无法改变
  6. //denied:户拒绝该应用访问手机提醒,或是访问手机提醒服务总开关处于关闭状态
  7. //authorized:用户允许该程序可以访问手机提醒
  8. }

示例代码

  1. var privacy = api.require('privacy');
  2. privacy.reminders(function(ret, err) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS 系统

可提供的1.0.0及更高版本

photos

判断是否有访问相册的权限

photos(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. details: '' //字符串类型;权限详情,取值范围如下:
  3. //notDetermined: 用户从未选择过权限
  4. //restricted:无法访问手机相册,该状态用户无法改变
  5. //denied:户拒绝该应用访问手机相册,或是访问手机相册服务总开关处于关闭状态
  6. //authorized:用户允许该程序可以访问手机相册
  7. }

示例代码

  1. var privacy = api.require('privacy');
  2. privacy.photos(function(ret, err) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. alert(JSON.stringify(err));
  6. }
  7. });

可用性

iOS 系统

bluetooth

判断是否有访问蓝牙的权限

bluetooth(callback(ret, err))

ret:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var privacy = api.require('privacy');
  2. privacy.bluetooth(function(ret, err) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS 系统

可提供的1.0.0及更高版本

microphone

判断是否有访问录音器的权限

microphone(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
  3. }

示例代码

  1. var privacy = api.require('privacy');
  2. privacy.microphone(function(ret, err) {
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS 系统

可提供的1.0.0及更高版本

camera

判断是否有访问摄像头的权限

camera(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
  3. details: '' //字符串类型;权限详情,取值范围如下:
  4. //notDetermined: 用户从未选择过权限
  5. //restricted:无法访问手机摄像头,该状态用户无法改变
  6. //denied:户拒绝该应用访问手机摄像头,或是访问手机摄像头服务总开关处于关闭状态
  7. //authorized:用户允许该程序可以访问手机摄像头

示例代码

iOS 系统