Android 将imageView附加到电子邮件

Android 将imageView附加到电子邮件,android,imageview,email-attachments,Android,Imageview,Email Attachments,我想附加imageView以通过Android邮件服务发送。这是我在活动A中从画廊获取图像的方式: public class Activity A extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_gallery); private static int RES

我想附加imageView以通过Android邮件服务发送。这是我在活动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放入活动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));
在活动B中,我想通过onClick将此图像附加到电子邮件中

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

@Override
public void onClick(View v) {



}
});
作为参考,图片如何附加电子邮件是一个问题,但这是从图库中选择的


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

您可以使用ImageView的getDrawable方法查看此

比如说

Bitmap imgViewBmp = ((BitmapDrawable)cardImage.getDrawable()).getBitmap();
应该有用


PS:我建议您首先检查api参考文档中您想要使用的任何类。找到你想要的东西的机会很高。下一个最好的办法是用谷歌搜索你想要解决的问题,如果这不起作用,那么“重新措辞”你的话,然后再试一次。使用后者,您找到解决方案的机会将增加一倍(如果不是更多的话)

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

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

我的问题可能不是如何检索图像。我想通过附件中的电子邮件发送。谢谢。这样这个想法就解决了我的问题。需要一些补充,但使用这种逻辑。非常感谢。