0

我有以下问题。

当启动这样的意图时:

   final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);

   emailIntent.setType("text/plain");
   emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "hello");     
   emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");
   // uris is a ArrayList<Uri> that links to some images in the asset folder
   // everything works fine with those attachments on the nexus 4
   emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

   this.startActivity(emailIntent);

它向我展示了我的 Nexus 4(运行 4.2.2)上的一系列合适的应用程序

如果我在 Nexus 7(也运行 4.2.2)上运行代码,即使安装并运行良好,它也不会显示使用 gmail 的选项。

对此有任何想法吗?

编辑:我能想到的唯一真正的区别是,nexus 7 在设备上设置了 2 个用户帐户。这可能与问题有关吗?

4

1 回答 1

1

试试这个:这对我有用!根据自己的需要修改!

Uri file_uri = Uri.fromFile(fileLocation);
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_SUBJECT, "");
i.putExtra(Intent.EXTRA_TEXT   , "");
i.putExtra(Intent.EXTRA_STREAM, file_uri);
try {
    startActivity(Intent.createChooser(i, "Complete Action Using"));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(ExportReport.this, "There are no email clients installed",Toast.LENGTH_SHORT).show();
}
于 2013-05-11T11:08:19.927 回答