Я прошел через множество ресурсов и, наконец, получил причину.Каким-то образом мое разрешение на манифест не получило разрешения на запись внешнего разрешения, как показано ниже.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
, поэтому я добавил разрешение времени выполнения для внешней записи, и оно отлично работает.я использую PermissionsAndroid от реагировать родной .
коды ниже =>
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
{
title: "Cool Photo App Camera Permission",
message:
"Cool Photo App needs access to your camera " +
"so you can take awesome pictures.",
buttonNeutral: "Ask Me Later",
buttonNegative: "Cancel",
buttonPositive: "OK"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera");
const data = await this.camera.takePictureAsync();
let saveResult = CameraRoll.saveToCameraRoll(data.uri);
console.warn("takePicture ", saveResult);
console.warn("picture url ", data.uri);
} else {
console.log("Camera permission denied");
}
} catch (err) {
console.warn(err);
}