授予 PermissionsAndroid.PERMISSIONS.CAMERA 后仍未看到照片
Photo still not seen after PermissionsAndroid.PERMISSIONS.CAMERA is granted
我的 React Native 0.66 应用程序需要有 CAMERA 权限才能访问 Android 中图库中的照片。以下是应用启动时添加到启动画面的权限功能。
//require Camera permission when open gallery
const requestCameraPermission = async () => {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: "添加权限",
message:
"app正常运行需要用到相册。请点OK ",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
return true; //console.log("You can use the camera");
} else {
console.log
}
} catch (err) {
console.log(err);
}
};
if (Platform.OS === 'android') requestCameraPermission();
当第一次访问图库时,上面的函数会弹出一个 window 请求权限。但是点击OK
后,应用中还是看不到选取的图片。同样在设置 -> 应用程序 -> 应用程序权限下的设备中,不存在 CAMERA 权限。顺便说一句,iOS 上的图像拾取配置(此处未显示)工作正常。
您需要在本机模块中添加权限。
在AndroidManifest.xml(Android),
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
在Info.plist(iOS),
<key>NSCameraUsageDescription</key>
<string>Your own description of the purpose</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your message to user when the photo library is accessed for the first time</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Your message to user when the photo library is accessed for the first time</string>
也在你app/build.gradle文件中,
defaultConfig {
...
missingDimensionStrategy 'react-native-camera', 'general' // <--- insert this line
}
我的 React Native 0.66 应用程序需要有 CAMERA 权限才能访问 Android 中图库中的照片。以下是应用启动时添加到启动画面的权限功能。
//require Camera permission when open gallery
const requestCameraPermission = async () => {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
title: "添加权限",
message:
"app正常运行需要用到相册。请点OK ",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
return true; //console.log("You can use the camera");
} else {
console.log
}
} catch (err) {
console.log(err);
}
};
if (Platform.OS === 'android') requestCameraPermission();
当第一次访问图库时,上面的函数会弹出一个 window 请求权限。但是点击OK
后,应用中还是看不到选取的图片。同样在设置 -> 应用程序 -> 应用程序权限下的设备中,不存在 CAMERA 权限。顺便说一句,iOS 上的图像拾取配置(此处未显示)工作正常。
您需要在本机模块中添加权限。
在AndroidManifest.xml(Android),
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
在Info.plist(iOS),
<key>NSCameraUsageDescription</key>
<string>Your own description of the purpose</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your message to user when the photo library is accessed for the first time</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Your message to user when the photo library is accessed for the first time</string>
也在你app/build.gradle文件中,
defaultConfig {
...
missingDimensionStrategy 'react-native-camera', 'general' // <--- insert this line
}