requestPermission

向系统请求某个或多个权限。为帮助您更好的使用该接口,论坛维护了一个示例

对于iOS平台,第一次请求权限时会弹出权限选择框,如果用户没有进行选择就退出应用,那么下次再次请求权限时会继续弹出选择框;如果用户选择了不允许,那么再次请求权限时将不会再弹出选择框,而是直接跳转到系统设置中该应用的设置界面(跳转只支持iOS8及以上系统,并且不支持notification权限)。

对于Android平台,只要用户没有选择“不再提示”,那么再次请求权限时都将继续弹出权限选择框;如果用户选择了“不再提示”,那么再次请求权限时将不会再弹出选择框,而是直接跳转到系统设置的该应用权限设置界面。

requestPermission({params}, callback(ret,err))

params

list:

  • 类型:字符串数组
  • 默认值:无
  • 描述:权限列表。
  • 取值范围:
  1. camera //相机/拍照/录像
  2. contacts //联系人读取/写入
  3. contacts-r //仅联系人读取
  4. contacts-w //仅联系人写入
  5. microphone //使用麦克风录制音频
  6. photos //访问相册|本地存储空间。Android上等同storage权限
  7. location //定位
  8. locationAlways //后台定位,只支持iOS
  9. notification //状态栏通知
  10. calendar //日历读取/写入。只支持Android
  11. calendar-r //仅日历读取
  12. calendar-w //仅日历写入
  13. phone //直接拨打电话/获取手机号码|IMEI。只支持Android
  14. phone-call //仅直接拨打电话
  15. phone-r //仅获取手机号码|IMEI
  16. phone-r-log //读取通话记录
  17. phone-w-log //写入通话记录
  18. sensor //传感器.只支持Android
  19. sms //读取短信/后台发送短信。只支持Android
  20. sms-s //仅后台发送短信
  21. sms-r //仅读取短信
  22. storage //读取/写入|相册|多媒体|本地存储空间。只支持Android
  23. storage-r //仅读取|相册|多媒体|文件|本地存储空间
  24. storage-w //仅写入|相册|多媒体|文件|本地存储空间

code:

  • 类型:数字
  • 默认值:无
  • 描述:请求跟踪码,用于回调结果,只支持Android。

callback

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. list:[{
  3. name: //权限名,字符串类型
  4. granted: //是否允许,布尔类型
  5. }],
  6. never: //用户是否选择了“不再提示“,只支持Android,布尔类型
  7. code: //请求跟踪码,只支持Android,数字类型。
  8. }

示例代码

  1. api.requestPermission({
  2. list:['camera','contacts'],
  3. code:1
  4. }, function(ret, err){
  5. api.alert({
  6. msg:JSON.stringify(ret)
  7. });
  8. });

可用性

iOS系统,Android系统

可提供的1.2.76及更高版本