Правильно делитесь изображением с другими приложениями (передача PNG в WhatsApp невозможна без FileProvider)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Правильно делитесь изображением с другими приложениями (передача PNG в WhatsApp невозможна без FileProvider)

Сообщение Anonymous »

Я создаю приложение для Android, в котором пользователь может выбрать одно из нескольких изображений для обмена (которые хранятся в папке drawable), и приложение открывает стандартный инструмент выбора ACTION_SEND, позволяющий им поделиться им с любым приложением, поддерживающим PNG, например:

Код: Выделить всё

Uri imageUri = Uri.parse("android.resource://com.owlswipe.imagesharer/" + getImage());

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
sendIntent.setType("image/png");
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sendIntent, "share to an app"));

public int getImage() {
return R.drawable.firstimage;
}
Однако, если пользователь решит поделиться фотографией в Whatsapp, это не будет работать должным образом: вместо того, чтобы интерпретировать ее как изображение (например, если вы обычно делитесь фотографией в Whatsapp), он думает, что это документ под названием «Без названия», и не отображается как изображение.

Изображение


Открытие этого документа без названия на компьютере показывает, что он называется DOC-20180721-WA0012. без расширения файла! Добавление png вручную в конец имени файла показывает правильное изображение.

Что еще более странно (но определенно можно как-то решить!):
  • Если пользователь решает открыть изображение, например, в приложении SMS, изображение отображается нормально.
  • Такое происходило на нескольких устройствах (Pixel 2 на P beta и Nokia) 2 для 7.1.1)
  • Эта проблема не возникает с другими приложениями, в которых PNG-файлы можно отправлять через Whatsapp, как обычное изображение (хотя они, похоже, автоматически конвертируются в JPEG с помощью Whatsapp).


Что я могу сделать, чтобы WhatsApp воспринимал мое изображение как правильный PNG-файл? Альтернативно, как мне правильно поделиться предварительно загруженным изображением из моего приложения, чтобы каждое приложение могло правильно его интерпретировать?

Подробнее здесь: https://stackoverflow.com/questions/514 ... ails-witho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»