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模块Permissions权限申请的详细内容,更多请关注其它相关文章!
上一篇: PHP后端银联支付及退款实例
下一篇: socket.io 响应2秒太慢了
推荐阅读
-
ios开发中React Native 集成分享与第三方登录功能模块开发教程
-
react native 原生模块桥接的简单说明小结
-
深入理解React Native原生模块与JS模块通信的几种方式
-
React Native模块之Permissions权限申请的实例相机
-
react native学习:iOS原生模块的封装与调用
-
react-native-s-baidumap -- 百度地图 React Native 模块,同时支持ios和android,react native 0.60.0+。
-
react-native-s-alipay -- React Native 支付宝模块,同时支持ios和android,react native 0.60.0+
-
React-Native之Android(6.0及以上)权限申请详解
-
React Native 原生模块封装(Android篇)
-
Permissions权限申请实例