我正在尝试发送附件,其中附件文件可以是来自SD卡的任何类型的文件(如txt,image,pdf等)。 我用过这些
String filelocation="file:/"+attachment_file_path1.getText().toString();
Intent emailIntent = new Intent(Intent.ACTION_SEND);
// set the type to 'email'
emailIntent.setType("text/plain");
String to[] = {"destination@yahoo.com"};
emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "bodyyyyyyyyy");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(filelocation));
emailIntent .putExtra(Intent.EXTRA_SUBJECT, "my mail");
startActivity(Intent.createChooser(emailIntent , "Send email..."));
N:B:如果我打印attachment_file_path1.getText().toString()
,它显示为" /storage/sdcard0/myfolder/my.txt"
我的电子邮件已发送到目的地,但我的附件未发送。 我该如何解决这个问题?
答案 0 :(得分:0)
将emailIntent.setType(text/plain)
更改为emailIntent.setType("*/*")
以允许发送任何文件类型。
答案 1 :(得分:0)
路径格式为:
文件:///sdcard/DumbDumpers/DumbDumper.jpg
你需要额外的/因为它指向根目录,即:
file:// + /sdcard/DumbDumpers/DumbDumper.jpg
合并为
文件:///sdcard/DumbDumpers/DumbDumper.jpg
在上面的代码片段中,您需要:
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+ sPhotoFileName));