Android 与主题共享 E-Mail/Whatsapp

Android Sharing with Subject E-Mail/Whatsapp

我正在使用 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.

有没有option/flag表示分享频道打压主题,如果分享频道基本不支持某个主题。

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

使用 PackageManager class 的 queryIntentActivities() 方法,您可以根据包名称设置 intent extras。

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

使用下面的代码(考虑到我们在 activity 中使用该功能),如果选择的应用程序是电子邮件,它将有一个主题,否则主题部分将无法用于其他应用程序,例如作为信使、短信或文本。 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()