在安卓设备上将PNG图片添加到剪贴板

4

i have following code:

        File imageFile = new File(f.getAbsolutePath());
        ContentValues values = new ContentValues(2);

        values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
        values.put(MediaStore.Images.Media.DATA,imageFile.getAbsolutePath());

        ContentResolver theContent = getContentResolver();
        Uri  imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        ClipData theClip = ClipData.newUri(getContentResolver(),"image", imageUri);

        android.content.ClipboardManager clipboard = (android.content.ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setPrimaryClip(theClip);

我只能看到剪贴板中的路径,而不是图像本身。我认为应该可以看到图像,因为当您截取屏幕时,您可以在剪贴板中看到图像。也许只有使用位图才能看到,如果您知道如何将位图传递到剪贴板,请告诉我。

如果有人能提供解决方案,我将非常感激。


你的问题解决了吗?我也遇到了同样的问题。你有这个问题的解决方案吗?请粘贴路径而不是图片。 - Akanksha Rathore
1个回答

0

Android剪贴板与其类似的Mac OS PasteBoard和Windows的Clipboard略有不同。Mac和Windows的方法是物理存储像图像/二进制、RTF、文件引用等内容,以便在系统内共享数据。Android剪贴板只能存储文本(自Jelly Bean以来可以处理HTML)。其他类型由Content Provider URI表示,指向实际数据。接收URI的应用程序的工作是通过ContentResolver检索其内容,并相应地处理传入的数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接