我正在尝试通过电子邮件在我的应用中发送我的CSV文件。当我点击发送它时,它显示我发送给的人,主题,消息和附件,但是当它发送电话时说“#34;它不可能显示附加的文件"。当我检查我的电子邮箱时,邮件就在那里但没有文件。
String to=destinatario.getText().toString().trim();
String subj=subject.getText().toString().trim();
String msg=message.getText().toString().trim();
if(to.length() < 1)
{
Toast.makeText(getApplicationContext(), "Mete para quem quer mandar", Toast.LENGTH_LONG).show();
}
else if (subj.length() < 1) {
Toast.makeText(getApplicationContext(), "Introduza o Tema", Toast.LENGTH_LONG).show();
}
else if (msg.length() < 1) {
Toast.makeText(getApplicationContext(), "Introduza Mensagem", Toast.LENGTH_LONG).show();
}
else {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
//emailIntent.setType("image/jpeg");
emailIntent.setType("message/rfc822");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{to});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subj);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, msg);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(file.getAbsolutePath()));
startActivity(Intent.createChooser(emailIntent, "A enviar..."));
}
}
有谁知道为什么会这样?
答案 0 :(得分:1)
将额外的流Uri.parse字符串更改为"file://" + file.getAbsolutePath()
。
只要您的文件是正确的文件
,这就应该有效答案 1 :(得分:0)
我使用以下代码使用csv附件创建一个intent。
ArrayList<Uri> uriList = new ArrayList<Uri>();
ArrayList<String> fileNameList = new ArrayList<String>();
uriList.add(Uri.fromFile(f));
fileNameList.add(f.getName());
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[]{""});
emailIntent.putExtra(android.content.Intent.EXTRA_CC,
new String[]{""});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Log");
if (!uriList.isEmpty()) {
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList);
emailIntent.putStringArrayListExtra(Intent.EXTRA_TEXT, fileNameList);
}