2013-03-27 39 views
10

Tôi muốn sao chép hình ảnh từ ứng dụng Android của mình sang ứng dụng Android khác bằng trình quản lý clipboard. Tôi đã nghiên cứu rất nhiều và đọc hướng dẫn this nhưng nó không bao gồm phần sao chép hình ảnh. Đoạn mã dưới đây sao chép hình ảnh nhưng khi tôi cố gắng dán, chỉ đường dẫn của hình ảnh được dán.Sao chép hình ảnh dán trong Android bằng cách sử dụng Trình quản lý Clipboard

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

Tôi đã cố gắng sử dụng các ứng dụng hỗ trợ dán hình ảnh, vì vậy tôi đoán vấn đề là "sao chép". Bất kỳ câu trả lời và lời khuyên nào sẽ được đánh giá cao.

+0

bạn có tìm thấy giải pháp này không? – dangalg

Trả lời

2

Mã này hoạt động, chỉ cần tìm ứng dụng và hệ điều hành thích hợp để kiểm tra.

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: Theo điều tra thêm của tôi, tuy nhiên, trong hầu hết các nền tảng Android hình ảnh bản sao quá khứ là không thể vì gốc android hệ điều hành không có một tính năng như vậy. Mã trên chỉ hoạt động trong một số trường hợp mà hệ điều hành được sửa đổi. Ví dụ, trong máy tính bảng Samsung Note nó hoạt động. Và bạn có thể vượt qua hình ảnh trong văn phòng Polaris. Nhưng Polaris được sử dụng API ẩn do Samsung cung cấp, vì ứng dụng đó đi kèm với thiết bị.

+0

Tính năng này không hoạt động. Bạn đã thử nghiệm điều này trên cái gì? – PersuitOfPerfection

+0

Tôi đã thử với ứng dụng gmail. Đó là dán đường dẫn của hình ảnh không phải là image.am tôi làm bất cứ điều gì sai. Làm thế nào để làm việc với nó. Xin vui lòng cho tôi biết. –

+0

@David_O: Tôi đã thử cách này để lấy uri hình ảnh, nhưng khi tôi cố gắng dán nó vào gmail/text/hoặc bất kỳ ứng dụng nào khác, URI chỉ được dán! Làm thế nào tôi có thể làm cho nó để dán hình ảnh và không phải là URI? – Neha

Các vấn đề liên quan