android - 将 imageView 附加到电子邮件

标签 android imageview email-attachments

我想附加 imageView 以通过 Android 邮件服务发送。这就是我在 Activity A 中从画廊获取图像的方式:

public class Activity A extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_gallery);

private static int RESULT_LOAD_IMAGE = 1;

Button viewcards=(Button)findViewById(R.id.viewcards);
viewcards.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);

}});      
}

@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]);
String picturePath = cursor.getString(columnIndex);
cursor.close();

Intent newdata = new Intent(SavedCards.this, Cardd.class);
newdata.putExtra("picture_path", picturePath);
startActivity(newdata); 
}

}}

将图像转移到另一个类并将 imageView 放入 Activity B:

public class Activity B extends Activity {

private ImageView cardimage;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.carddd);

String temp = getIntent().getStringExtra("picture_path");
cardimage = (ImageView) findViewById(R.id.cardimage);
cardimage.setImageBitmap(BitmapFactory.decodeFile(temp));

在 Activity B 中,我想通过 onClick 将此图像附加到电子邮件中。

txtsend=(TextView) findViewById(R.id.txtsend);
txtsend.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {



}
});

作为引用,图像如何附加电子邮件是here , 但这是从图库中挑选的。

如何通过已在 imageView 上设置的已拍摄图像执行此操作。谢谢。

最佳答案

在您的代码中,您将图像从 Activity B 中的文件设置到 ImageView。并且您知道该图片文件的路径。当您发送电子邮件时,只需附加此文件即可。

Uri uri = Uri.parse("file://" + attachmentFile); 
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);

关于android - 将 imageView 附加到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23774080/

相关文章:

list 文件中的 android:permission 标签

c# - 如何发送带有html附件的邮件

玛根托 : How to send contact form email with attachment in magento?

java - 无法使用 JavaMail 使用 Java 下载 PDF 附件

android - 在包 'layout_alignParentCenter' 中找不到属性 'android' 的资源标识符

android - 任务在项目构建时失败(无法解析所有文件进行配置)

android - 如何在android中的自定义 ListView 中实现搜索?

java - 将 ImageView 边缘淡入透明

在 LinearLayout 中包含多个图像的 Android Camera App