我搜索了很多,但没有偶然发现我必须做的事情。因此,当我单击发送电子邮件时,文件显示为附件,但我从未收到附件 是否有一些特殊的方法可以发送作为 URL 接收的附件?这是我的活动代码:http://pastebin.com/uzdJYxab[2] 这是我的项目https://docs.google.com/file/d/0B-91m-6ZevwCRTYtYXRGb3l6UVE/edit?usp=sharing 代码“发送电子邮件”按钮:sendEmail_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_SUBJECT, "Attachment from app");
intent.putExtra(Intent.EXTRA_TEXT, "Sending mp3 file " + title);
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"some_email@email.com"});
ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.fromFile(new File(trackUrl)));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(intent, "Send mail"));
}
});
也许必须有其他方法将音频文件从 URL 放到意图?我必须使用 intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uri); 作为我任务的一部分。但是我跳过了另一部分
ACTION_SEND_MULTIPLE 将使用应该访问声音文件的外部活动。要允许此类访问,您需要: - 创建 ContentProvider。- 覆盖公共 ParcelFileDescriptor openFile(Uri uri, String 模式)
这是否意味着只有使用内容提供商才能从 url 获取文件并将其作为电子邮件附件放置?我用谷歌搜索但没有找到如何正确覆盖公共 ParcelFileDescriptor openFile(Uri uri, String mode),也许有人至少会指出我正确的方向?同样,我不是要解决这个问题,但至少指出我的错误并给出一些建议。