2013-04-18 57 views
4

到剪贴板我有以下代码:添加PNG在android系统

 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因为当你把一个路径您可以在剪贴板中看到图片。如果你知道如何将位图传递给剪贴板,请告诉,也许它只有一个位图。 如果有人能提出解决方案,我会非常感谢。

+0

是你的问题解决了。我有同样的问题。你有没有解决这个问题,粘贴路径而不是图像。 –

回答

0

Android剪贴板与Mac OS PasteBoard和Windows剪贴板等对应物略有不同。 Mac和Windows的方法是物理地存储像Image/Binary,RTF,File references等内容,因此数据可以在系统内共享。 Android剪贴板只能存储文本(并且自从Jelly Bean以后可以处理HTML)。其他类型由指向实际数据的内容提供者URI表示。这是应用程序接收URI的工作(通过ContentResolver)检索其内容并相应地处理传入的数据。