通过电子邮件共享位图图像,无需使用Uri

时间:2019-05-11 10:10:11

标签: java android bitmap

如果我要与其他应用程序共享该图像或通过电子邮件发送该图像,我正在使用一个返回位图图像的库?我没有图像的Uri,那我该怎么办

2 个答案:

答案 0 :(得分:0)

  1. 将位图转换为文件:

    String path = Environment.getExternalStorageDirectory();
            File file = new File(path + "/image_name.jpg"); 
            OutputStream fOut = new FileOutputStream(file);
            pictureBitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut); // saving the Bitmap to a file compressed as a JPEG with 85% compression rate
            fOut.flush(); // Not really required
            fOut.close(); // do not forget to close the stream
  1. 从文件获取URI: Uri yourUri = Uri.fromFile(file);


另外:对于android 7.0及更高版本,您需要a different way to get URI from file
将文件保存到默认主目录只是一个示例,但可能不是最佳实践。

答案 1 :(得分:0)

这完全取决于您的环境: -您可以交出完整的图片(例如电子邮件中的附件) -如果您有可以从目标访问的解决方案,则可以创建自己的uri。在本地系统上,您可以将图像存储在文件中。或者,如果您有一个Web应用程序,则可能希望使该图像可用,以便您也可以提供该图像的URL)

所以它主要取决于整个Szenario:图像来自哪里,它有多大?目标是什么? ....

对不起,我没有将其写为评论-首先要发表评论需要50分的信誉...。