将图像从drawable复制到剪贴板Android

时间:2016-06-09 08:19:04

标签: android image clipboard

我搜索了很多,发现了以下答案 Copy Image to ClipBoard

我想从我的应用中复制图片并将其粘贴到消息或备忘录中。

Uri uri = Uri.parse("android.resource://com.xample.abc/drawable/e1");
            ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
            ClipData clip = ClipData.newUri(getContentResolver(),"Check it",uri);

            clipboard.setPrimaryClip(clip);

上面是一个代码片段,但它只是复制uri文本,即(“android.resource://com.xample.abc/drawable/e1”)而不是来自drawable文件夹的图像。 看似无法使用此代码或方法复制图像。我很困惑。有没有办法从我们的应用程序或自定义键盘复制图像? 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

试试这个

 Bitmap drawableicon = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
ClipboardManager mClipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
 Uri imageUri =getImageUri(YOURACTIVITY.this,drawableicon);
    ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri);
    mClipboard.setPrimaryClip(theClip);

//从位图获取uri

public Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
    return Uri.parse(path);
}