颤振选择相机或图库异常

时间:2019-02-13 03:02:20

标签: flutter firebase-mlkit

我有一个Flutter项目,试图将MLKit用作文本OCR。 我创建了一个独立的Flutter项目,该项目可以与MLKit一起正常工作。但是,当我将相同的代码和依赖项放入现有的Flutter项目中时,它无法按预期工作。

以下是我在尝试选择图片时遇到的问题...

  1. 当我单击图库以选择图像时,它将引发异常。

    最终文件=等待ImagePicker.pickImage(来源:imageSource);   如果(文件==空){     抛出异常(“文件不可用”);   }

  2. 当我尝试选择相机​​时,它第一次请求权限,然后应用程序关闭。...抛出“ java.lang.NullPointerException:尝试调用虚拟方法'android。在空对象引用上的content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,java.lang.String)'

  3. 在随后的所有尝试中抛出这些异常后,将引发异常“ PlatformException(已激活,图像选择器已处于活动状态,为null)

    cupertino_icons:^ 0.1.2  firebase_auth:^ 0.8.0 + 1  cloud_firestore:^ 0.9.0  firebase_core:^ 0.3.0  国际翻译:^ 0.17.2  firebase_messaging:^ 3.0.0  http:^ 0.12.0 + 1  xml:^ 3.3.1  firebase_storage:^ 2.0.0  uuid:^ 1.0.3  shared_preferences:^ 0.5.0  flutter_staggered_grid_view:^ 0.2.7  google_sign_in:^ 4.0.0  flutter_signin_button:^ 0.2.5  mlkit:^ 0.9.0  路径提供者:^ 0.5.0 + 1  image_picker:^ 0.5.0 + 3

为了实现MLKit https://medium.com/flutter-community/flutter-text-barcode-scanner-app-with-firebase-ml-kit-103db6b6dad7

,我关注了以下博客。

谢谢

4 个答案:

答案 0 :(得分:2)

使用image_picker插件

var imageSource;
if (source == CAMERA_SOURCE) {
  imageSource = ImageSource.camera;
} else {
  imageSource = ImageSource.gallery;
}

try {
  final file = await ImagePicker.pickImage(source: imageSource);
  if (file == null) {
    throw Exception('File is not available');
  }

答案 1 :(得分:2)

您需要删除项目中的build文件夹。完成后,再次启动项目,它将起作用。

答案 2 :(得分:2)

尝试清理您的应用程序,使用Flutter clean命令。

很多时候,我都遇到过此类问题,其中没有与代码相关的问题,但还是出了一些问题,但是以某种方式Flutter clean可以帮助解决该问题。

答案 3 :(得分:0)

首先,问题可能出在权限上,您需要添加permission_handler才能访问摄像头或存储设备等硬件。

除了我们手机中的默认应用程序之外,第二次尝试其他相机应用程序。