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 相关文章推荐
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
JavaScript进制转换实现方法解析
Jan 18 Javascript
深入理解webpack process.env.NODE_ENV配置
Feb 23 Javascript
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
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页面中文乱码分析
2013/10/29 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
Python连接DB2数据库
2016/08/27 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
大学生工作求职信
2014/06/23 职场文书
淘宝活动总结范文
2014/06/26 职场文书
助学感谢信范文
2015/01/21 职场文书
教师党员个人总结
2015/02/10 职场文书
感恩教师主题班会
2015/08/12 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
警用民用对讲机找不同
2022/02/18 无线电