我想附加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) {
}
});
作为参考,图片如何附加电子邮件是here,但这是从图库中选择的。
如何通过已在imageView上设置的拍摄图像来执行此操作。谢谢。
答案 0 :(得分:1)
在您的代码中,您将图像从活动B中的文件设置为ImageView。您知道此图片文件的路径。发送电子邮件时,只需附上此文件即可。
Uri uri = Uri.parse("file://" + attachmentFile);
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
答案 1 :(得分:0)
您可以使用ImageView的getDrawable方法查看此http://developer.android.com/reference/android/widget/ImageView.html#getDrawable()
等等,
Bitmap imgViewBmp = ((BitmapDrawable)cardImage.getDrawable()).getBitmap();
应该工作。
PS:我建议你先查看你想要使用的任何课程的api参考文档。找到你想要的东西的机会非常高。接下来最好的事情就是实际谷歌你要解决的问题,如果那不起作用那么" rephrase"你的话,然后再试一次。您找到解决方案的可能性会增加一倍(如果不是更多)!