从本地图库中选择图片,并附加到电子邮件 [英] Select Image from Native Gallery and attach to Email
本文介绍了从本地图库中选择图片,并附加到电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我允许用户浏览本地图库>选择图像,然后试图附加选定的图像到电子邮件,但没有得到确切的形象,看到我的code:
I am allowing user to browse native gallery > select image, and trying to attach selected image to email, but not getting exact image, see my code:
private static int RESULT_LOAD_IMAGE = 1;
String picturePath;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
picturePath = cursor.getString(columnIndex);
cursor.close();
// getting exact image which i selected with full path
Toast.makeText(getApplicationContext(), picturePath.toString(), Toast.LENGTH_LONG).show();
sendImage();
}
}
// to attach an image to email
public void sendImage() {
// TODO Auto-generated method stub
Intent i = new Intent(Intent.ACTION_SEND);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_STREAM, Uri.parse(picturePath));
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"recepient@mail.cin"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT, "body of email");
startActivity(Intent.createChooser(i,"Send email via:"));
}
}
什么,我缺少什么?在这里我做的错误?
What i am missing ? where i am doing mistake ?
推荐答案
试试这个用于连接形象。
Try this for attaching image.
File file = getFileStreamPath(EMAIL_TEMP_FILE);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
i.setType("image/jpeg");
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file.getAbsolutePath())); //Your image file
希望它帮助。
这篇关于从本地图库中选择图片,并附加到电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文