共享电子邮件意向或通用邮件意向



我有两种类型的共享意图。一个用于简单的通用消息传递,如短信/Slack等,另一个用于电子邮件。我似乎无法弄清楚的是,如何找到一种方法来解决某人通过选择器选择的内容并使用适当的意图。

(这将通过按下共享按钮来完成,所有发送选项将显示在选择器中

对此的任何帮助都会很棒。

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain"); 
Intent chooser = Intent.createChooser(shareIntent,"");

的想法是在解析选择器时,我可以看到它是否是电子邮件类型,但这似乎也不起作用。

一旦你触发了一个意图,对发生的事情的控制就超出了你的控制范围。一旦用户选择操作,选择器将不会提供对应用的回调 - 相反,系统会将你启动的意图传递给所选应用程序。

如如何根据ACTION_SEND意图筛选特定应用(并为每个应用设置不同的文本(中所述,如果要自定义选择器,则有几个选项。您可以:

  • 使用Intent.EXTRA_INITIAL_INTENTS显示默认选项以外的其他意向。
  • 创建您自己的自定选取器,以提供您想要的行为
第一个选项可能

并不理想,因为选项的顺序可能不是您想要的。

第二个选项提供了更多的控制,但需要维护很多工作,特别是如果你想要更新的平台功能,比如直接与联系人共享。

另一种选择是更改 UI 以提供单独的"共享"和"电子邮件"选项,然后为每个选项使用默认意图。

最新更新