privacy 原生插件封装了 iOS 平台上设备访问权限判断的接口,包括定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机、健康。由于 Android 平台上机制不同,所以本原生插件仅支持 iOS 平台。(Android 上是在应用打包时候注册某一项权限,用户安装时系统弹出提示,若用户同意则安装该 app,若不同意则取消安装。所以若应用被安装成功,则必定有 app 开发者注册给该应用的权限,应用内无需判断。)
注意!本原生插件已停止维护!
如果需要判断相机、通讯录、麦克风、相册、定位、日历的话请使用api对象下的 hasPermission 接口,如果需要判断蓝牙权限,请使用 ble 原生插件,如果需要判断提醒权限请使用 calendarMemo 原生插件
判断是否有定位权限
location(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法使用定位服务,该状态用户无法改变
//denied:户拒绝该应用使用定位服务,或是定位服务总开关处于关闭状态
//authorizedAlways:用户允许该程序无论何时都可以使用地理信息
//whenInUse:用户同意程序在可见时使用地理位置
}
var privacy = api.require('privacy');
privacy.location(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问联系人权限
contacts(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限))
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机通讯录,该状态用户无法改变
//denied:户拒绝该应用访问手机通讯录,或是访问手机通讯录服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机通讯录
}
var privacy = api.require('privacy');
privacy.contacts(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问日历权限
calendars(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机日历,该状态用户无法改变
//denied:户拒绝该应用访问手机日历,或是访问手机日历服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机日历
}
var privacy = api.require('privacy');
privacy.calendars(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问提醒事项的权限
reminders(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机提醒,该状态用户无法改变
//denied:户拒绝该应用访问手机提醒,或是访问手机提醒服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机提醒
}
var privacy = api.require('privacy');
privacy.reminders(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问相册的权限
photos(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限))
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机相册,该状态用户无法改变
//denied:户拒绝该应用访问手机相册,或是访问手机相册服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机相册
}
var privacy = api.require('privacy');
privacy.photos(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问蓝牙的权限
bluetooth(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机蓝牙,该状态用户无法改变
//denied:户拒绝该应用访问手机蓝牙,或是访问手机蓝牙服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机蓝牙
}
var privacy = api.require('privacy');
privacy.bluetooth(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问录音器的权限
microphone(callback(ret, err))
ret:
{
status: true //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
}
var privacy = api.require('privacy');
privacy.microphone(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本
判断是否有访问摄像头的权限
camera(callback(ret, err))
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机摄像头,该状态用户无法改变
//denied:户拒绝该应用访问手机摄像头,或是访问手机摄像头服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机摄像头
}
var privacy = api.require('privacy');
privacy.camera(function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS 系统
可提供的1.0.0及更高版本