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 相关文章推荐
JavaScript 学习点滴记录
Apr 24 Javascript
jquery入门—访问DOM对象方法
Jan 07 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
Jul 27 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
通俗易懂地解释JS中的闭包
Oct 23 Javascript
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
详解Ubuntu安装angular-cli遇到的坑
Sep 08 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 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
PHP5函数小全(分享)
2013/06/06 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
深入理解JSON数据源格式
2014/01/10 Javascript
JsRender实用入门教程
2014/10/31 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python 获取等间隔的数组实例
2019/07/04 Python
利用python实现AR教程
2019/11/20 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
django跳转页面传参的实现
2020/09/17 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
民族团结好少年事迹材料
2014/08/19 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
大学生实习证明范本
2014/09/19 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
怎样写辞职信
2015/02/27 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle