我需要在gmail(android)上附加几个jpg文件。我正在使用ACTION_SENDMULTIPLE,但始终收到错误“已禁用或未安装与此操作相关联的所有应用”。
我发现很多帖子(这里有几个)说这很容易。您只需将意图设置为ACTION_SENDMULTIPLE并将所有文件放在Uri中。
嗯,没有人在我的案子里工作。
所有这些帖子都相对较旧。我在2015年之后没找到帖子。
我正在使用android 6.0.1在Samsung S5中测试应用程序。
任何帮助?
我的代码:
Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); // it's not ACTION_SEND
//emailIntent.setType("text/rfc822");
emailIntent.setType("image/*");
emailIntent.setData(Uri.parse("mailto:" + Globais.wbEmailCorporativo)); // or just "mailto:" for blank
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Inventario Holdings = " + wData);
emailIntent.putExtra(Intent.EXTRA_TEXT, "Inventário.");
emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // this will make such that when user returns to your app, your app is displayed, instead of the email app.
//Attaching Files
ArrayList<Uri> uris = new ArrayList<Uri>();
File foto;
Uri u1 = Uri.fromFile(file);
uris.add(u1);
for (int a = 0; a < Globais.wbFotosTotal; a++) {
foto = new File(Globais.wbFotos[a]);
foto.setReadable(true, false);
Uri u2 = Uri.fromFile(foto);
uris.add(u2);
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
try {
startActivity(emailIntent);
//startActivity(Intent.createChooser(email_intent, "Oi"));
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Erro:" + e.toString(), Toast.LENGTH_LONG).show();
return;
}