Я работаю над функцией обмена изображением через общую таблицу Android с помощью Intent.ACTION_SEND. Изображение генерируется динамически из RelativeLayout и передается в виде растрового файла. Хотя изображение успешно опубликовано и отображается в принимающем приложении, предварительный просмотр не отображается в самой общей таблице.
Вот функция, которую я использую для этой цели:
Я работаю над функцией обмена изображением через общую таблицу Android с помощью Intent.ACTION_SEND. Изображение генерируется динамически из RelativeLayout и передается в виде растрового файла. Хотя изображение успешно опубликовано и отображается в принимающем приложении, предварительный просмотр не отображается в самой общей таблице. Вот функция, которую я использую для этой цели: [code]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);