当我试图向whatsapp等其他应用程序发送文本和图像时,Intent.EXTRA_TITLE不起作用



在此处输入图像描述Intent.EXTRA_TITLE在我尝试向WhatsApp 等其他应用程序发送文本和图像时不起作用

这是我尝试的代码

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TITLE, Heading);
sendIntent.setType("image/*");
sendIntent.putExtra(Intent.EXTRA_STREAM,
Uri.parse("file://" + sharefile));
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sendIntent,"Hello"));

当我使用EXTRA_TEXT时,它工作正常,但对于EXTRA_TITLE不工作,请帮助我

我不确定它是否清楚,但Intent.EXTRA_TITLE并不意味着向其他应用程序发送任何内容。相反,它给activity chooser一个标题。你可以用类似";要打开哪个应用程序发送此图像&";。

一个工作示例:

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "EXTRA_TEXT");
sendIntent.putExtra(Intent.EXTRA_TITLE, "Heading");
Intent chooserIntent = Intent.createChooser(sendIntent, "Hello");
startActivity(chooserIntent);

注意:在这种情况下,标题将始终是";标题";而不是";你好;。如果使用ACTION_SEND,则不使用此参数。来自Intent.java:

* @param title Optional title that will be displayed in the chooser,
* only when the target action is not ACTION_SEND or ACTION_SEND_MULTIPLE.

还有更多的EXTRAS,但我不知道WhatsApp是否支持它们:

* Optional standard extras, which may be interpreted by some recipients as
* appropriate, are: {@link #EXTRA_EMAIL}, {@link #EXTRA_CC},
* {@link #EXTRA_BCC}, {@link #EXTRA_SUBJECT}.

编辑:

根据这篇帖子,WhatsApp同时接受Intent.EXTRA_STREAMIntent.EXTRA_TEXT来显示图片说明。

最新更新