React Native模块Permissions权限申请

小云云
小云云 原创
2017-12-27 10:12:17 2074浏览

本文主要介绍了React Native模块之Permissions权限申请的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下,希望能帮助到大家。

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为各权限名称,对应值为用户授权与否。

相关推荐:

详解React Native之prop-types进行属性确认

react native与webview通信实例详解

React Native中如何写自定义模块

以上就是React Native模块Permissions权限申请的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。