我在这里和其他地方找到了关于创建发送电子邮件的意图的各种主题,这似乎很简单。我正在寻找启动用户可能拥有的任何电子邮件客户端的意图。
这是我看到的发送电子邮件的代码(仅供参考,这不符合我的需求,因为我不想发送新消息):
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject of the message");
i.putExtra(Intent.EXTRA_TEXT , "Body of the message");
以下是我为通过包名称专门启动 Gmail 客户端而编写的代码:
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.google.android.gm");
startActivity(intent);
上面的代码有效,但不够灵活,因为用户可能使用的不是 Gmail,而是其他内置电子邮件应用程序或第 3 方电子邮件应用程序。我正在寻找在这种情况下会调出选择器的意图,以便用户可以决定启动哪个应用程序来阅读电子邮件。
有谁知道如何做到这一点?