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定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
一个简单的node.js界面实现方法
Jun 01 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
JavaScript canvas实现雨滴特效
Jan 10 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用mysql数据库存储session的代码
2010/03/05 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
分享一个简单的python读写文件脚本
2017/11/25 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Atom的python插件和常用插件说明
2018/07/08 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
求职信需要的五点内容
2014/02/01 职场文书
捐款倡议书范文
2014/02/02 职场文书
财务担保书范文
2014/04/02 职场文书
2014年网管工作总结
2014/12/11 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Django REST framework 限流功能的使用
2021/06/24 Python