如何从资源中获取图像

时间:2016-05-01 09:29:43

标签: android

我正在尝试使用发送邮件将图像作为附件发送。 但我无法从资源获取图像,但如果我尝试发送保存在SD卡中的图像,则会成功发送。 这是我用来从资源中获取图像的代码。

 DataSource fds = new FileDataSource(
                         "android.resource://com.example.birth/" + R.raw.ic_mail2);

2 个答案:

答案 0 :(得分:0)

由于您说从SDCard添加文件有效,为什么不在Drawable的项目文件夹之外创建临时文件,例如在SDCard或内部存储中。然后在电子邮件中或您要附加文件的任何位置使用它。最后删除临时文件。

与完成建议的解决方案相关

How can I write a Drawable resource to a File?

答案 1 :(得分:0)

这应该是答案,而不是评论,所以我发布了之前我评论过的解决方案。 所以要从资源中获取图像,你应该使用它:

CCApplication
在api 22中不推荐使用

Drawable drawable = ContextCompat.getDrwable(context, R.drawable.yourImage); 。您应该使用getResources().getDrawable();解决方案。