Подтвердить что ты не робот

Копировать вставить изображение в 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);

Я попытался пройти в приложениях, которые поддерживают вставку изображений, поэтому я думаю, что проблема заключается в "копировании". Любые ответы и рекомендации будут оценены.

4b9b3361

Ответ 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, поскольку это приложение поставляется с устройствами.