我需要在我的应用程序中添加图像拾取器。我为图像选择器逻辑创建了一个小类:
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)
}
/>Picker库工作得很好。但是拾取器摄像头打不开。只有模式窗口关闭,没有其他窗口。此外,控制台中也没有任何错误。
我不明白为什么会这样。我拥有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" />我如何解决这个问题?
发布于 2021-04-03 09:37:20
我用react-native-camera解决了我的问题,但我的问题是开放的-我不知道如何解决这个问题。如果有人能提点建议,我会很高兴听到的。
https://stackoverflow.com/questions/66926357
复制相似问题