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 相关文章推荐
获取中文字符串的实际长度代码
Jun 05 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
后台获取ZTREE选中节点的方法
Feb 12 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
JS实现一个简单的日历
Feb 22 Javascript
vue自动化表单实例分析
May 06 Javascript
jquery层次选择器的介绍
Jan 18 jQuery
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
JS数据类型判断的几种常用方法
Jul 07 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
twig模板常用语句实例小结
2016/02/04 PHP
php实现头像上传预览功能
2017/04/27 PHP
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python读取并写入mat文件的方法
2019/07/12 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
公司离职证明范本(5篇)
2014/09/17 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL
JS函数式编程实现XDM一
2022/06/16 Javascript
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers