反应本机图像选取器相机无法打开



我需要在我的应用程序中添加图像选择器。我为图像选择器逻辑创建了一个小类:

import {launchImageLibrary, launchCamera} from 'react-native-image-picker';
export default class ImagePickerService {
static openPickerLibrary(
setImageUrl: Dispatch<SetStateAction<string | null | undefined>>,
setModalVisible: Dispatch<SetStateAction<boolean>>,
) {
launchImageLibrary(
{mediaType: 'photo', includeBase64: true},
(response: any) => {
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else {
setImageUrl(`data:image/jpeg;base64,${response.base64}`);
setModalVisible(false);
}
},
);
}
static openPickerCamera(
setImageUrl: Dispatch<SetStateAction<string | null | undefined>>,
setModalVisible: Dispatch<SetStateAction<boolean>>,
) {
launchCamera({mediaType: 'photo', includeBase64: true}, (response: any) => {
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else {
setImageUrl(`data:image/jpeg;base64,${response.base64}`);
setModalVisible(false);
}
});
}
}

然后我这样称呼这些方法:

<ModalButton
label="Take photo"
onPress={() =>
ImagePickerService.openPickerCamera(setImageUrl, setPickerVisible)
}
/>
<ModalButton
label="Choose photo"
onPress={() =>
ImagePickerService.openPickerLibrary(setImageUrl, setPickerVisible)
}
/>

皮克尔图书馆工作得很好。但拾取器摄像头无法打开。只有模态窗口关闭,其他什么都没有。控制台中也并没有任何错误。

我不明白为什么会发生这种事。我拥有AndroidManifest中的所有权限。我也试过这个字符串,但没有帮助:

android:requestLegacyExternalStorage="true"

我也尝试过这些功能,但它们也没有帮助:

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />

如何解决此问题?

我用react-native-camera解决了问题。

最新更新