2013-04-18 88 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)檢索其內容並相應地處理傳入的數據。