React Native模块之Permissions权限申请的实例相机


Posted in Javascript onSeptember 28, 2017

React Native模块之Permissions权限申请的实例详解

前言

对于移动开发,我们知道Android 6.0之后对于权限管理做了很大的升级,其类似于IOS的管理管理方式需要用手动授权是否允许使用当前权限, 在RN开发中同样存在这样一个模块。

处理方法

在RN中提供了一个PermissionsAndroid的模块, 可以访问Android M(也就是6.0)开始提供的权限模型。有一些权限写在AndroidManifest.xml就可以在安装时自动获得。但有一些“危险”的权限则需要弹出提示框供用户选择。本API即用于后一种情形。

在低于Android 6.0的设备上,权限只要写在AndroidManifest.xml里就会自动获得,此情形下check和request 方法将始终返回true。

async function requestCameraPermission() {
 try {
  const granted = await PermissionsAndroid.request(
   PermissionsAndroid.PERMISSIONS.CAMERA,
   {
    'title': 'Cool Photo App Camera Permission',
    'message': 'Cool Photo App needs access to your camera ' +
          'so you can take awesome pictures.'
   }
  )
  if (granted === PermissionsAndroid.RESULTS.GRANTED) {
   console.log("You can use the camera")
  } else {
   console.log("Camera permission denied")
  }
 } catch (err) {
  console.warn(err)
 }
}

常用

check(permission)

返回一个promise,最终值为用户是否授权过的布尔值。

request(permission, rationale?)

弹出提示框向用户请求某项权限。返回一个promise,最终值为用户是否同意了权限申请的布尔值。

requestMultiple(permissions)

在一个弹出框中向用户请求多个权限。返回值为一个object,key为各权限名称,对应值为用户授权与否。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery创建自己的插件(自定义插件)的方法
Jun 10 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
Apr 26 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
Jan 10 Javascript
使用jquery清空、复位整个输入域
Apr 02 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
Jun 30 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
基于rollup的组件库打包体积优化小结
Jun 18 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 28 Javascript
Node.js学习之查询字符串解析querystring详解
Sep 28 #Javascript
angular4自定义组件详解
Sep 28 #Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 #Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 #Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 #Javascript
node.js学习之断言assert的使用示例
Sep 28 #Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 #Javascript
You might like
BBS(php & mysql)完整版(一)
2006/10/09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
密码强度检测效果实现原理与代码
2013/01/04 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
Python实现的简单计算器功能详解
2018/08/25 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
化妆师职业生涯规划书
2014/02/16 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
保密工作整改报告
2014/11/06 职场文书
村党组织公开承诺书
2015/04/30 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
小学数学教学随笔
2015/08/14 职场文书
高中班主任寄语
2019/06/21 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android