2013-03-27 13 views
10

Chciałbym skopiować obraz z mojej aplikacji Android do drugiej aplikacji Android za pomocą menedżera schowka. Dużo się zapoznałem i przeczytałem samouczek this, ale nie obejmuje ono części do kopiowania obrazów. Poniższy kod, który kopiuje obraz, ale gdy próbuję wkleić, wkleja tylko ścieżkę obrazu.Kopiuj-wklej obraz w systemie Android za pomocą schowka Menedżer

ContentValues values = new ContentValues(2); 
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/png"); 
    values.put(MediaStore.Images.Media.DATA, "/mnt/sdcard/1.jpg"); 
    ContentResolver theContent = getContentResolver(); 
    Uri imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
    ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri); 
    mClipboard.setPrimaryClip(theClip); 

Próbowałem przeszłości w aplikacjach, które obsługują wklejanie obrazu, więc myślę, że problem jest "skopiować". Wszelkie odpowiedzi i porady będą mile widziane.

+0

znalazłeś rozwiązanie? – dangalg

Odpowiedz

2

Ten kod działa, wystarczy znaleźć odpowiednią aplikację i system operacyjny, aby go przetestować.

ClipboardManager mClipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    ContentValues values = new ContentValues(2); 
    values.put(MediaStore.Images.Media.MIME_TYPE, "Image/jpg"); 
    values.put(MediaStore.Images.Media.DATA, filename.getAbsolutePath()); 
    ContentResolver theContent = getContentResolver(); 
    Uri imageUri = theContent.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
    ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri); 
    mClipboard.setPrimaryClip(theClip); 

Edit: Według moich dalszych badań, jednak w większości platform Android kopia obrazu przeszłości nie jest możliwe, ponieważ oryginalny Android OS nie ma takiej funkcji. Powyższy kod działa tylko w kilku przypadkach, w których system operacyjny został zmodyfikowany. Na przykład w notatniku Samsung Note działa. I możesz minąć obraz w biurze Polaris. Ale Polaris wykorzystuje ukryte API dostarczone przez Samsunga, ponieważ ta aplikacja jest dostarczana z urządzeniami.

+0

To nie działa. W czym to testowałeś? – PersuitOfPerfection

+0

Próbowałem go z aplikacją Gmail. To jest wklejanie ścieżki obrazu, a nie obraz.i robię coś złego. Jak pracować z nim. Proszę dać mi znać. –

+0

@ David: Próbowałem tego, aby uzyskać obraz uri, ale kiedy próbuję wkleić go w Gmail/text/lub jakiejkolwiek innej aplikacji, URI właśnie zostanie wklejony! Jak mogę to zrobić, aby wkleić obraz, a nie identyfikator URI? – Neha

Powiązane problemy