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基础教程之数据类型转换
Jan 18 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
浅析从vue源码看观察者模式
Jan 29 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
详解如何使用微信小程序云函数发送短信验证码
Mar 13 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
layui 实现加载动画以及非真实加载进度的方法
Sep 23 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
简介JavaScript错误处理机制
Aug 04 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
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
PHP常用的小程序代码段
2015/11/14 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
我的NodeJs学习小结(一)
2014/07/06 NodeJs
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
vue中使用codemirror的实例详解
2018/11/01 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
tensorflow 环境变量设置方式
2020/02/06 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
创建文明城市倡议书
2015/04/28 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
高三教师工作总结2015
2015/07/21 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS