对不起,我很忙。波纹管代码,可在电子邮件中添加附件和文本:
// attachments
ArrayList<Uri> uris = new ArrayList<>();
for(int i = 0; i < pdfs.length; i++) {
File fileIn = new File(pdfs[i].getAbsolutePath());
if(!fileIn.getName().endsWith(".txt") && !fileIn.getName().endsWith(".html")) {
fileIn.setReadable(true);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
}
//gen mail
Intent emailIntent = new Intent(ACTION_SEND_MULTIPLE);
String theme = "BokoPro";
String to[] = {sendTo};
emailIntent.putExtra(EXTRA_EMAIL, to);
emailIntent.putParcelableArrayListExtra(EXTRA_STREAM, uris);
emailIntent.putExtra(EXTRA_SUBJECT, theme);
emailIntent.putExtra(EXTRA_TEXT, context.getResources().getString(R.string.text_email_message_body));
((Activity) context).startActivity(Intent.createChooser(emailIntent, "Choose an Email client:"));
一切正常,但是我有一个问题,createChooser
向用户显示所有应用程序(不仅向客户端发送电子邮件,例如可以是电报)。我只需要显示设备中的所有电子邮件客户端。我尝试这样做:
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
这不起作用,文件未附加。