【问题标题】:React-native-image-picker camera doesn't openReact-native-image-picker 相机未打开
【发布时间】:2021-06-29 17:47:09
【问题描述】:

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

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" />

我该如何解决这个问题?

【问题讨论】:

    标签: android reactjs typescript react-native react-hooks


    【解决方案1】:

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

    【讨论】:

    • 如果您有后续问题,请提出新问题,或更新您的问题并删除此答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2021-10-20
    • 1970-01-01
    • 2020-03-02
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多