камеру MediaStore.ACTION_IMAGE_CAPTURE картинка (uri получил через resolver.insert в imageCollecton) при следующем запросе resolver.query возвращается SIZE = null? Другие поля приходят корректно. Такая ситуация повторяется у меня только на android 7/8. Нашёл подобную проблему, но она не решена https://stackoverflow.com/questions/39234028/picture-intent-zero-length-image
Во первых, создание файла в директории карты уже бессмысленно с переходом на Scoped Storage, во вторых попробуйте с помощью медиатора вставить картинку, а после взять ее данные
я же и создаю файл через media storage api, файл сохраняется корректно и корректно показывается в системной галлерее. А вот content providewr почему-то возвращает пустой размер(
А размер пытаетесь через сайз? И вставляете ли вы этот сайз ранее?
OpenableColumns.SIZE, его же указываю и в запрашиваемых полях
Когда вставляете картинку этот сайз указываете?
ContentValues imageDetails = new ContentValues(); imageDetails.put(MediaStore.Images.Media.DISPLAY_NAME, fileName); Uri imageUri = resolver.insert(imageCollection, imageDetails); try (OutputStream os = resolver.openOutputStream(imageUri, "w")) //запись в файл Ты хочешь сказать, что я тут явно не передал размер? Блин, а ведь может быть
Ты вообще ничего не передал кроме названия файла, а обновление медиастора происходит не сразу, потому сайз и будет нуль
большое спасибо, очень похоже на причину моей проблемы. 👌
Грубо говоря, медиастор это SQLite база
Обсуждают сегодня