Черный экран после фотографирования в плагине image_picker

Я использую последнюю версию image_pickerplugin, включая версию Flutter 2.0.3, и это также не работает на реальном устройстве (Xiaomi Redmi Note 7). Единственное сообщение, которое я вижу, это потеря связи с устройством, когда я беру камеру. Галерея работает нормально. Это мой код.

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  File _image;
  final picker = ImagePicker();

  Future getImage() async {
    final pickedFile = await picker.getImage(source: ImageSource.camera);

    setState(() {
      if (pickedFile != null) {
        _image = File(pickedFile.path);
      } else {
        print('No image selected.');
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Image Picker Example'),
      ),
      body: Center(
        child: _image == null
            ? Text('No image selected.')
            : Image.file(_image),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: getImage,
        tooltip: 'Pick Image',
        child: Icon(Icons.add_a_photo),
      ),
    );
  }
}

Я уже добавил все разрешения, как решить эту проблему?


person KOrra    schedule 30.03.2021    source источник
comment
не могли бы вы предоставить журналы   -  person Jitesh Mohite    schedule 30.03.2021
comment
@JiteshMohite Как я уже сказал, единственное сообщение, которое я вижу, - это потеря связи с устройством. Если вы имели в виду Logcat, как я могу разместить здесь бесконечное количество сообщений?   -  person KOrra    schedule 30.03.2021
comment
если вы запускаете андроид-устройство, то посмотрите android logcats, вы что-то там получите   -  person Jitesh Mohite    schedule 30.03.2021
comment
2021-03-30 17:00:29.900 29803-29803/com.example.flutter_app_image_save E/libc: Access denied finding property "ro.vendor.df.effect.conflict" 2021-03-30 17:00:29.966 29803-29861/com.example.flutter_app_image_save E/Perf: Fail to get file list com.example.flutter_app_image_save 2021-03-30 17:00:29.966 29803-29861/com.example.flutter_app_image_save E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array @JiteshMohite были такие ошибки при попытке сделать фото   -  person KOrra    schedule 30.03.2021


Ответы (1)


Добавить в менифест android:requestLegacyExternalStorage="true"

android {
    compileSdkVersion 29
// ....
        defaultConfig {
            targetSdkVersion 29

Это должно сработать для вас, если хотите узнать больше, нажмите android:requestLegacyExternalStorage

person Jitesh Mohite    schedule 30.03.2021
comment
Я изменил compileSdkVersion с 30 на 29, и это сработало - person KOrra; 30.03.2021
comment
вы использовали android: requestLegacyExternalStorage = true? - person Jitesh Mohite; 30.03.2021
comment
Да. Я использовал его при установке плагина image_picker - person KOrra; 30.03.2021
comment
Сейчас не работает - person KOrra; 31.03.2021