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 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
Javascript 设计模式(二) 闭包
May 26 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
JS 控制小数位数的实现代码
Aug 02 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
JS及PHP代码编写八大排序算法
Jul 12 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
对比分析json及XML
2014/11/28 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
Python3 批量扫描端口的例子
2019/07/25 Python
基于python实现复制文件并重命名
2020/09/16 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
施工安全协议书
2013/12/11 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
机械专业求职信范文
2014/07/15 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
个人事迹材料范文
2014/12/29 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
Hive常用日期格式转换语法
2022/06/25 数据库