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 相关文章推荐
常用js脚本
Dec 03 Javascript
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
jquery 隐藏与显示tr标签示例代码
Jun 06 Javascript
JavaScript实现在标题栏上显示当前日期的方法
Mar 19 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
layui表单提交到后台自动封装到实体类的方法
Sep 12 Javascript
js实现旋转的星空效果
Nov 01 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
生成静态页面的PHP类
2006/07/15 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Python安装第三方库的3种方法
2015/06/21 Python
21行Python代码实现拼写检查器
2016/01/25 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
详解Python3 pickle模块用法
2019/09/16 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
敏捷开发的主要原则都有哪些
2015/04/26 面试题
会计专业毕业生推荐信
2013/11/05 职场文书
前台接待岗位职责
2013/12/03 职场文书
安全标语口号
2014/06/09 职场文书
监察建议书
2015/02/04 职场文书
员工聘用合同范本
2015/09/21 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers