我的 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();
第一次訪問圖庫時,上面的函式會彈出一個視窗,詢問權限。但是,單擊后OK,應用中仍然看不到所選擇的影像。同樣在設定 -> 應用程式 -> 應用程式權限下的設備中,CAMERA 權限不存在。順便說一句,用于在 iOS 上選取影像的配置(此處未顯示)作業正常。
uj5u.com熱心網友回復:
您需要在本機模塊中添加權限。
在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
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418411.html
標籤:
