如何检查用户是不是已在 React Native Android 中授予相机权限?
Posted
技术标签:
【中文标题】如何检查用户是不是已在 React Native Android 中授予相机权限?【英文标题】:How to check if user has granted camera permission in React Native Android?如何检查用户是否已在 React Native Android 中授予相机权限? 【发布时间】:2018-06-07 06:44:31 【问题描述】:应用程序启动后,我立即从用户那里获得使用相机的权限。但是在打开摄像头之前,如果我检查用户是否授予摄像头权限,即使允许,我也会得到“假”的响应。
这是我的代码:
Permissionsandroid.check('camera').then(response =>
if (response === true)
//Open scanner
else if (response === false)
Alert("Please enable camera permission in device settings.")
)
【问题讨论】:
【参考方案1】:请尝试以下方法:
PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA).then(response => ..
而不是
PermissionsAndroid.check('camera').then(response => ..
【讨论】:
【参考方案2】:这里我用的是async、await和promise,稍微好理解一点。
import PermissionsAndroid from 'react-native';
export const checkReadContactsPermission = async ()=>
//result would be false if not granted and true if required permission is granted.
const result = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA);
return result;
【讨论】:
【参考方案3】:首先导入依赖
import PermissionsAndroid, Platform from 'react-native';
然后在您的活动中使用以下代码
if(Platform.OS=="android")
const permissionAndroid = await PermissionsAndroid.check('android.permission.CAMERA');
if(permissionAndroid != PermissionsAndroid.RESULTS.granted)
const reqPer = await PermissionsAndroid.request('android.permission.CAMERA');
if(reqPer != 'granted')
return false;
【讨论】:
以上是关于如何检查用户是不是已在 React Native Android 中授予相机权限?的主要内容,如果未能解决你的问题,请参考以下文章
检查是不是在 React Native iOS 应用程序中打开了 WiFi
React Native 检查是不是在 Android 上启用了应用通知