React Native模块之Permissions权限申请的实例相机
ReactNative模块之Permissions权限申请的实例详解
前言
对于移动开发,我们知道Android6.0之后对于权限管理做了很大的升级,其类似于IOS的管理管理方式需要用手动授权是否允许使用当前权限,在RN开发中同样存在这样一个模块。
处理方法
在RN中提供了一个PermissionsAndroid的模块,可以访问AndroidM(也就是6.0)开始提供的权限模型。有一些权限写在AndroidManifest.xml就可以在安装时自动获得。但有一些“危险”的权限则需要弹出提示框供用户选择。本API即用于后一种情形。
在低于Android6.0的设备上,权限只要写在AndroidManifest.xml里就会自动获得,此情形下check和request方法将始终返回true。
asyncfunctionrequestCameraPermission(){ try{ constgranted=awaitPermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.CAMERA, { 'title':'CoolPhotoAppCameraPermission', 'message':'CoolPhotoAppneedsaccesstoyourcamera'+ 'soyoucantakeawesomepictures.' } ) if(granted===PermissionsAndroid.RESULTS.GRANTED){ console.log("Youcanusethecamera") }else{ console.log("Camerapermissiondenied") } }catch(err){ console.warn(err) } }
常用
check(permission)
返回一个promise,最终值为用户是否授权过的布尔值。
request(permission,rationale?)
弹出提示框向用户请求某项权限。返回一个promise,最终值为用户是否同意了权限申请的布尔值。
requestMultiple(permissions)
在一个弹出框中向用户请求多个权限。返回值为一个object,key为各权限名称,对应值为用户授权与否。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!