Код: Выделить всё
Future _pickImage() async {
try {
final String arg = ModalRoute.of(context)!.settings.arguments as String;
final ImageSource imageSource = (arg.toLowerCase() == 'camera') ? ImageSource.camera : ImageSource.gallery;
final ImagePicker imagePicker = ImagePicker();
final XFile? imageFile = await imagePicker.pickImage(source: imageSource);
if (imageFile == null) {
Navigator.pop(context);
Routines.showSnackBar(context, 'No image selected');
} else {
await _processImage(imageFile);
}
} catch (e) {
Navigator.pop(context);
Routines.showSnackBar(context, 'Error picking image');
}
}
Future _processImage(XFile imageFile) async {
try {
final MLKit mlKit = MLKit();
final String extractedText = await mlKit.recognizeText(imageFile);
_extractedData.clear();
_extractedData = await mlKit.ner(extractedText);
mlKit.dispose();
if (_extractedData.isEmpty) {
Navigator.pop(context);
Routines.showSnackBar(context, 'No data found');
}
} catch (e) {
Navigator.pop(context);
Routines.showSnackBar(context, 'Error processing image');
}
}
Более того, эта проблема не возникает на iOS; средство выбора изображений работает без проблем как для камеры, так и для галереи на устройствах iOS (корпоративная сборка).
Этот сбой характерен только для приложений, загруженных из Play Store, и не воспроизводится при отладке или выпуске. сборки устанавливаются непосредственно на устройство. Буду признателен за любую информацию о том, почему это может происходить и как это решить.
Подробнее здесь: https://stackoverflow.com/questions/791 ... gle-play-c
Мобильная версия