首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-native-image-picker摄像头无法打开

React-native-image-picker摄像头无法打开
EN

Stack Overflow用户
提问于 2021-04-03 07:29:23
回答 1查看 228关注 0票数 1

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

代码语言:javascript
复制
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);
      }
    });
  }
}

然后我这样调用这些方法:

代码语言:javascript
复制
<ModalButton
  label="Take photo"
  onPress={() =>
    ImagePickerService.openPickerCamera(setImageUrl, setPickerVisible)
  }
/>
<ModalButton
  label="Choose photo"
  onPress={() =>
    ImagePickerService.openPickerLibrary(setImageUrl, setPickerVisible)
  }
/>

Picker库工作得很好。但是拾取器摄像头打不开。只有模式窗口关闭,没有其他窗口。此外,控制台中也没有任何错误。

我不明白为什么会这样。我拥有AndroidManifest中的所有权限。我也试过这个字符串,但是没有用:

代码语言:javascript
复制
android:requestLegacyExternalStorage="true"

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

代码语言:javascript
复制
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />

我如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-04-03 09:37:20

我用react-native-camera解决了我的问题,但我的问题是开放的-我不知道如何解决这个问题。如果有人能提点建议,我会很高兴听到的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66926357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档