我有一组jpg存储在我的应用程序的drawable文件夹中。我希望能够让用户按下一个按钮,允许他们发送其中一个jpg。我已经发现我可以使用ACTION_SEND意图,但是我在附加到意图的drawable文件夹中获取jpg时遇到了麻烦。我已经阅读了一些其他的论坛帖子,听起来像是要把我的jpg保存到用户的外部SD卡然后在那里参考它。如何将jpg从应用程序的drawable文件夹复制到用户的外部SD卡上?
答案 0 :(得分:0)
要将图像从资源复制到SD卡上图片目录中的图像文件,您可以使用以下方法:
Bitmap resourceImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.resource_image1);
File externalStorageFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "resource_image1.jpg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
resourceImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
byte b[] = bytes.toByteArray();
try
{
externalStorageFile.createNewFile();
OutputStream filoutputStream = new FileOutputStream(externalStorageFile);
filoutputStream.write(b);
filoutputStream.flush();
filoutputStream.close();
}
catch (IOException e)
{
}
然后,您可以在ACTION_SEND意图中将其指定为图像附件。