Android与主题电子邮件/ Whatsapp共享

时间:2015-02-19 11:24:34

标签: android email whatsapp android-sharing

我正在使用Android本机共享代码:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "I like to share with you some stuff.");
intent.putExtra(Intent.EXTRA_SUBJECT, "I like to share with you.");
intent.setType(CONTENT_TYPE_TEXT);
startActivity(Intent.createChooser(intent, "Share");

当我使用电子邮件作为共享频道时,我得到了我想要的东西:

Subject: I like to share with you.
Text:    I like to share with you some stuff.

当我使用WhatsApp作为共享频道时,我收到以下文字:

I like to share with you.

I like to share with you some stuff.

与Whatsapp分享时我的期望是什么:

I like to share with you some stuff.

如果共享频道基本上不支持主题,是否有任何选项/标志指示共享频道来抑制主题。

E.g。电子邮件支持主题 - >使用提供的额外意图。 WhatsApp不支持主题 - >不要使用提供的额外意图。

2 个答案:

答案 0 :(得分:1)

使用queryIntentActivities()类的PackageManager方法,您可以根据包名称设置意图附加内容。

有关详细信息,请查看以下链接:How to filter specific apps for ACTION_SEND intent (and set a different text for each app)

答案 1 :(得分:0)

使用以下代码(考虑到我们在活动中使用该功能),如果所选应用程序是电子邮件,它将具有主题,否则主题部分将无法用于其他应用程序,例如信使、短信或文本. Body (setText) 将以相同的方式对所有应用程序可用。

                ShareCompat.IntentBuilder.from(this)
                    .setSubject("I like to share with you.")
                    .setChooserTitle("Share")
                    .setType("text/plain")
                    .setText("I like to share with you some stuff.")
                    .startChooser()