在android中添加一个png到剪贴板

时间:2013-04-18 12:45:49

标签: android png clipboard

我有以下代码:

        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);

我只看到clipboard中的路径而不是image本身,我认为必须能够看到image,因为当您截取屏幕截图时,您会看到剪贴板。如果你知道如何将位图传递给剪贴板,也许它只是一个位图请告诉我。 如果有人能提出解决方案,我将非常感激。

1 个答案:

答案 0 :(得分:0)

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