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 相关文章推荐
任意位置显示html菜单
Feb 01 Javascript
有趣的javascript数组定义方法
Sep 10 Javascript
jQuery $.get 的妙用 访问本地文本文件
Jul 12 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
JavaScript数组常用操作技巧汇总
Nov 17 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
Oct 24 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
Vue项目中如何引入icon图标
Mar 28 Javascript
在vue中使用G2图表的示例代码
Mar 19 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
taro小程序添加骨架屏的实现代码
Nov 15 Javascript
Bootstrap FileInput实现图片上传功能
Jan 28 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生成短域名函数
2015/03/23 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
js删除数组中某几项的方法总结
2019/01/16 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python人人网登录应用实例
2014/09/26 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
django表单的Widgets使用详解
2019/07/22 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
爱心倡议书范文
2014/05/12 职场文书
群教个人对照检查材料
2014/08/20 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
在职证明书模板
2015/06/15 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
SQL Server中使用表变量和临时表
2022/05/20 SQL Server