Камера React-native-image-picker не открывается

Мне нужно добавить средство выбора изображений в свое приложение. Я создал небольшой класс для логики выбора изображений:

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.info('User cancelled image picker');
        } else if (response.error) {
          console.info('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.info('User cancelled image picker');
      } else if (response.error) {
        console.info('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" />

Как я могу исправить эту проблему?

1
0
20
1

Ответы 1

Я решил свою проблему с react-native-camera, но мой вопрос остается открытым - я не понимаю, как исправить эту проблему. Если кто-нибудь может дать совет, я буду рад его услышать.

Другие вопросы по теме