React Native 权限适配之PermissionsAndroid

举报
G-washington 发表于 2019/10/11 22:16:28 2019/10/11
【摘要】 在6.0以下环境,在AndroidManifest.xml就可以在安装时自动获得,而在6.0以上环境,一些“危险”的权限则需要弹出提示框供用户选择。为了解决6.0以上动态权限申请的问题,React Native提供了PermissionsAndroid。

搞过原生Android开发的同学都清楚,Android 在6.0版本对权限管理做了很大的升级,其类似于IOS的管理管理方式需要用手动授权是否允许使用当前权限,也即是:在6.0以下环境,在AndroidManifest.xml就可以在安装时自动获得,而在6.0以上环境,一些“危险”的权限则需要弹出提示框供用户选择。为了解决6.0以上动态权限申请的问题,React Native提供了PermissionsAndroid。

处理思路 
对于Android手机环境,在低于Android 6.0的设备上,权限只要写在AndroidManifest.xml里就会自动获得。而对于于Android 6.0及以上环境,则需要使用PermissionsAndroid。

PermissionsAndroid

常用函数

  • check(permission) 
    返回一个promise,返回值为用户是否授权过的布尔值。

  • request(permission, rationale?) 
    弹出提示框向用户请求某项权限。返回一个promise,最终值为用户是否同意了权限申请的布尔值。

  • requestMultiple(permissions) 
    弹出一个权限申请框,框中向用户请求多个权限。返回值为一个object,key为各权限名称,对应值为用户授权与否。

6.0以下权限

在低于Android 6.0的设备上,权限只要写在AndroidManifest.xml里就会自动获得,此情形下check和request 方法将始终返回true。例如,申请相机的权限:

image.png

6.0以上权限

对于Android 6.0以上的版本,申请权限需要以下的几个步骤。 
1,在 AndroidMainfest.xml配置文件中添加需要申请的权限。

2,在使用PermissionsAndroid之前,导入PermissionsAndroid。

image.png

3,主要调用的就是前面说的几个函数。

image.png

实例

下面是一个简单的权限获取实验,其效果如下图所示。 

                                        image.png

当我们点击按钮后就去获取相关的权限,请求权限的核心代码如下:

image.png

当然更详细的资料可以访问:React-Native之Android6.0以上权限申请


本文转载自异步社区

原文链接:https://www.epubit.com/articleDetails?id=N48c1e93a-6f07-4327-8c17-c7b79d2920f7 

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。