Копировать-вставить изображение в Android с помощью менеджера буфера обмена
Я хотел бы скопировать изображение из моего приложения android в другое приложение android с помощью менеджера буфера обмена. Я много исследовал и читал этой учебник, но он не охватывает часть копирования изображений. Ниже приведен код, который копирует изображение, но когда я пытаюсь вставить, вставляется только путь изображения.
ContentValues values = new ContentValues(2);
values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
values.put(MediaStore.Images.Media.DATA, "/mnt/sdcard/1.jpg");
ContentResolver theContent = getContentResolver();
Uri imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri);
mClipboard.setPrimaryClip(theClip);
Я пытался пройти в приложениях, которые поддерживают вставку изображений, поэтому я думаю, что проблема в "копировании". Любые ответы и советы будут оценены.
1 ответов
этот код работает, просто найти соответствующее приложение и ОС, чтобы проверить его.
ClipboardManager mClipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ContentValues values = new ContentValues(2);
values.put(MediaStore.Images.Media.MIME_TYPE, "Image/jpg");
values.put(MediaStore.Images.Media.DATA, filename.getAbsolutePath());
ContentResolver theContent = getContentResolver();
Uri imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri);
mClipboard.setPrimaryClip(theClip);
изменить: Однако, согласно моим дальнейшим исследованиям, на большинстве платформ Android копирование изображений невозможно, потому что оригинальная ОС android не имеет такой функции. Приведенный выше код работает только в нескольких случаях, когда ОС изменяется. Например, в планшете Samsung Note он работает. И вы можете пройти мимо изображения в офисе Polaris. Но Polaris используется скрытый API, предоставляемый Samsung, как это приложение поставляется с устройствами.