4

我有以下代码:

        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因为当您截取屏幕截图时,您会在剪贴板中看到图像。如果您知道如何将位图传递到剪贴板,也许只有位图才能告诉您。如果有人可以提出解决方案,我将非常感激。

4

1 回答 1

0

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

于 2014-12-13T12:38:40.387 回答