【发布时间】:2017-04-11 12:28:33
【问题描述】:
尝试测试一个简单的应用程序,该应用程序将从图库中获取图像并将其作为电子邮件附件传递,我做了以下操作:
使用 Intent 通过 ImageButton 访问图库的代码
ivGalerija.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select content image"), 1);
}
});
OnActivityResult 方法被重写
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
if(requestCode == 1){
imageUri = data.getData();
File root = Environment.getExternalStorageDirectory();
String pathToMyAttachedFile = imageUri.getPath().toString();
File file = new File(root, pathToMyAttachedFile);
if (!file.exists() || !file.canRead()) {
return;
}
uri = Uri.fromFile(file);
}
}
}
提交按钮上的onClick方法打开电子邮件应用程序
bSubmit = (Button) findViewById(R.id.bSubmit);
bSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etMesto = (EditText) findViewById(R.id.etMesto);
etUlica = (EditText) findViewById(R.id.etUlica);
etOpis = (EditText) findViewById(R.id.etOpis);
Intent intent = null, chooser = null;
es = (TextView) findViewById(R.id.tvMesto);
intent = new Intent(Intent.ACTION_SEND);
intent.setData(Uri.parse("mailto:"));
String[] to = {"aco1992@gmail.com"};
intent.putExtra(Intent.EXTRA_EMAIL, to);
intent.putExtra(Intent.EXTRA_SUBJECT, "Prijava kvara");
intent.putExtra(Intent.EXTRA_TEXT, "Elektrodistribucija: " + spElektrodistribucija + "\nMesto neovlascene potrosnje: " +
etMesto.getText().toString() + "\nUlica i broj: " + etUlica.getText().toString() + "\nOpis: " + etOpis.getText().toString());
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_STREAM, uri);
chooser = Intent.createChooser(intent, "Send email");
startActivity(chooser);
}
});
}
没有附件,整个事情都可以正常工作,文本以正确格式传递到邮件正文,但没有附件。我已将 Uri 字段设为静态以使其随处可访问,但不确定这是否是问题所在。无论如何,事不宜迟...此代码不会将图像作为意图携带到电子邮件应用程序中并发送它,而是整个事情就像没有选择任何内容一样发生。我错过了什么?
【问题讨论】:
标签: android forms email email-attachments