我正在使用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不支持主题 - >不要使用提供的额外意图。
答案 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()