Whatsapp 多行文本共享意图
What's App multiline text share intent
我尝试使用以下代码分享多行文本,但只显示最后一行。
val sharingIntent = Intent(Intent.ACTION_SEND)
sharingIntent.setType("text/plain")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Found this cool deal! Check it out.")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, TITLE)
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "MRP : $PRICE")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Deal Price : $DEAL_PRICE")
startActivity(Intent.createChooser(sharingIntent, "Share using"))
只出现最后一行的原因是一个意图只能有一个键值。因此,每次调用 putExtra(EXTRA_TEXT,foo) 时,都会覆盖前一个。如果要发送多行,请将其作为带有“\n”字符的单个字符串发送。
至于发送 html- 你需要告诉它你要发送 html。你告诉它你正在发送纯文本。如果您要发送 html,请将 mime 类型更改为 text/html。 (注意:我不知道 whatsapp 是否支持 html,但这就是你发送 html 到任何支持它的应用程序的方式)。
当您调用 putExtra(key, value)
时,之前放在同一个 key
下的任何值都会被清除。尝试放置一个包含所有所需文本的字符串:
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"Found this cool deal! Check it out.\n" +
TITLE + "\n" +
"MRP : $PRICE\n" +
"DEAL PRICE : $DEAL_PRICE");
至于 HTML 内容,您需要向我们展示您使用的代码。但是,您可能不想使用 fromHtml()
;将 HTML 转换为样式文本,我怀疑这不是 WhatsApp 期望收到的。尝试只发送具有正确 MIME 类型的原始 HTML。
在 Kotlin 中,您可以对多行文本使用三引号,我不确定在 Java 中是否可以。
val moreStuff = "Text or Numbers or arrays"
var myText = """
line 1 of the text
line 2 of the text
$moreStuff
"""
它会按照您输入的方式对其进行格式化
var myText = """
Found this cool deal! Check it out.
$TITLE
MRP : $PRICE
DEAL PRICE : $DEAL_PRICE)"""
我尝试使用以下代码分享多行文本,但只显示最后一行。
val sharingIntent = Intent(Intent.ACTION_SEND)
sharingIntent.setType("text/plain")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Found this cool deal! Check it out.")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, TITLE)
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "MRP : $PRICE")
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Deal Price : $DEAL_PRICE")
startActivity(Intent.createChooser(sharingIntent, "Share using"))
只出现最后一行的原因是一个意图只能有一个键值。因此,每次调用 putExtra(EXTRA_TEXT,foo) 时,都会覆盖前一个。如果要发送多行,请将其作为带有“\n”字符的单个字符串发送。
至于发送 html- 你需要告诉它你要发送 html。你告诉它你正在发送纯文本。如果您要发送 html,请将 mime 类型更改为 text/html。 (注意:我不知道 whatsapp 是否支持 html,但这就是你发送 html 到任何支持它的应用程序的方式)。
当您调用 putExtra(key, value)
时,之前放在同一个 key
下的任何值都会被清除。尝试放置一个包含所有所需文本的字符串:
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"Found this cool deal! Check it out.\n" +
TITLE + "\n" +
"MRP : $PRICE\n" +
"DEAL PRICE : $DEAL_PRICE");
至于 HTML 内容,您需要向我们展示您使用的代码。但是,您可能不想使用 fromHtml()
;将 HTML 转换为样式文本,我怀疑这不是 WhatsApp 期望收到的。尝试只发送具有正确 MIME 类型的原始 HTML。
在 Kotlin 中,您可以对多行文本使用三引号,我不确定在 Java 中是否可以。
val moreStuff = "Text or Numbers or arrays"
var myText = """
line 1 of the text
line 2 of the text
$moreStuff
"""
它会按照您输入的方式对其进行格式化
var myText = """
Found this cool deal! Check it out.
$TITLE
MRP : $PRICE
DEAL PRICE : $DEAL_PRICE)"""