gpt4 book ai didi

android - 如何创建启动任何电子邮件应用程序的 Intent ?

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:16 26 4
gpt4 key购买 nike

我在这里和其他地方找到了关于创建发送电子邮件 Intent 的各种主题,这似乎非常简单。我正在寻找仅启动用户可能拥有的任何电子邮件客户端的 Intent 。

这是我看到的用于发送电子邮件的代码(发布仅供引用,这不能满足我的需要,因为我不想发送新消息):

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,而是使用其他内置电子邮件应用程序或第三方电子邮件应用程序。在这种情况下,我正在寻找一个可以调出选择器的 Intent ,以便用户可以决定启动哪个应用程序来阅读电子邮件。

有谁知道如何做到这一点?

最佳答案

能否以某种方式使用 mailto URL 来完成此操作? - 编辑 - 我能够使用以下代码示例完成此操作:

mt = MailTo.parse("mailto:yourname@gmail.com");
sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{mt.getTo()});
sendIntent.putExtra(Intent.EXTRA_TEXT, "");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Enter a subject");
sendIntent.setType("message/rfc822");
startActivity(Intent.createChooser(sendIntent, "Send a Message:"));

关于android - 如何创建启动任何电子邮件应用程序的 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3147543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com