Предварительный просмотр изображения не отображается в общей таблице Android при публикации через Intent.ACTION_SENDAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Предварительный просмотр изображения не отображается в общей таблице Android при публикации через Intent.ACTION_SEND

Сообщение Anonymous »

Я работаю над функцией обмена изображением через общую таблицу Android с помощью Intent.ACTION_SEND. Изображение генерируется динамически из RelativeLayout и передается в виде растрового файла. Хотя изображение успешно опубликовано и отображается в принимающем приложении, предварительный просмотр не отображается в самой общей таблице.
Вот функция, которую я использую для этой цели:

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

public static void shareImage(Activity activity, RelativeLayout relativeLayout, String authorName, String storyName) {

// Create a bitmap with the same dimensions as the RelativeLayout
Bitmap finalBitmap = Bitmap.createBitmap(relativeLayout.getWidth(), relativeLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(finalBitmap);

// Draw the layout onto the canvas
relativeLayout.draw(canvas);

try {
File directory = new File(activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "shared_images");
if (!directory.exists()) {
directory.mkdirs();
}

String fileName = activity.getString(R.string.app_name) + ".jpeg";
File imageFile = new File(directory, fileName);
FileOutputStream out = new FileOutputStream(imageFile);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
Uri uri = FileProvider.getUriForFile(activity, activity.getPackageName() + ".provider", imageFile);

Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.putExtra(Intent.EXTRA_SUBJECT, activity.getString(R.string.author) + " - " + authorName);
intent.putExtra(Intent.EXTRA_TEXT, activity.getString(R.string.story) + " - " + storyName);
intent.setType("image/*");
activity.startActivity(Intent.createChooser(intent, "Share Via"));

} catch (IOException e) {
Log.d("ShareImage", "Error sharing image: " + e.getMessage());
snackShort(activity, activity.getString(R.string.something_went_wrong));
}
}

введите здесь описание изображения


Подробнее здесь: https://stackoverflow.com/questions/792 ... t-action-s
Ответить

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

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

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

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

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