java - Android - 将图像复制到剪贴板,有人能做到这一点吗?

标签 java android image clipboard pasteboard

我正在尝试将图像文件从我的 apk 复制到剪贴板。

这是我的处理方法(粗略地说,我在本地使用内容提供商,这超出了问题的范围。

        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.INTERNAL_CONTENT_URI, values);
        ClipData theClip = ClipData.newUri(getContentResolver(), "Image", imageUri);
        mClipboard.setPrimaryClip(theClip);

使用此代码可能会发生两件事:

1) java.lang.IllegalStateException:无法创建新文件 2) 粘贴时仅粘贴 URI 本身,而不粘贴图像(即使在兼容的应用程序中)

我没有看到任何人在 Android 上粘贴图像的例子,我已经在谷歌和堆栈溢出上广泛搜索了答案。

谁能帮忙解决这个问题吗? 我非常感谢有人在这里提供帮助。

PS:如果这是不可能的,我也想知道,以免浪费更多时间。

谢谢!

最佳答案

我有一个选择。在 Android 上使用应用程序 SwiftKey 作为键盘(它适用于 Android 10)。它允许您访问照片库,因此您需要 1) 下载图像 2) 打开您正在使用的任何应用程序并想要粘贴图像 3) 使用 SwiftKey 键盘,单击“+”信号,然后单击“pin”符号(应位于第一行)。 4) 最后,点击“创建新照片”,它将访问您的照片并插入到任何地方。

我知道这不是最好的解决方案,而在 iOS 上您只需点击复制和粘贴即可。但这是唯一对我有用的解决方案。自己尝试一下。我希望这有帮助:)

关于java - Android - 将图像复制到剪贴板,有人能做到这一点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19683366/

相关文章:

image - 从 MJPG 文件中提取图像帧

android - 以编程方式更改 MenuItem 文本颜色

android - 从服务内的线程更新 ProgressDialog

Java代码无法删除文件

java.io.IOException : The path is unmapped

java - 在AndEngine中,哪里调用实体更新方法?

image - 将核心数据与每个实体的许多图像一起使用?

javascript - React 中的图像 onError 处理

java - 尝试使用 OpenCV JAVA 检测图像中的人脸时出错

java - JSP 形式中具有多个属性的 OneToMany 关系