You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用发送WhatsApp消息如何实现分段等格式化排版

Android 端发送WhatsApp消息段落排版实现方案

你已经掌握的*包裹文本实现粗体的逻辑是对的,WhatsApp的文本格式化标记和原生换行符完全兼容,不需要引入额外依赖:

  • 同段落软换行:在消息字符串中插入单个\n,效果和输入时敲一次回车一致,行间距较窄
  • 段落硬分隔(段落间空一行):在消息字符串中插入连续两个换行符\n\n,即可实现两个段落间留空白的分隔效果,和手动敲两次回车的排版效果完全一致

WhatsApp支持的常用格式化标记和换行符不会冲突,只要保证标记成对闭合即可:

  • 粗体:*待加粗文本*
  • 斜体:_待倾斜文本_
  • 删除线:~待加删除线文本~
  • 行内等宽代码:`等宽文本`

以下是可直接复用的实现代码(Kotlin):

// 构造符合排版要求的消息内容
val formattedMessage = buildString {
    // 第一段:粗体标题,标题后空一行和正文分隔
    append("*活动提醒*\n\n")
    // 第二段:正文开头,单换行拆分列表项
    append("您报名的线下活动即将开始:\n")
    append("• 活动时间:2024年6月1日 14:00\n")
    append("• 活动地点:市科技馆3号展厅\n")
    append("• 签到凭证:报名手机号后四位\n\n")
    // 第三段:注意事项,和上方列表空一行分隔
    append("请提前15分钟到场签到,现场可领取活动周边一份。")
}

// 唤起WhatsApp发送消息的Intent逻辑
val whatsappSendIntent = Intent(Intent.ACTION_SEND).apply {
    type = "text/plain"
    setPackage("com.whatsapp") // 直接跳转WhatsApp,跳过应用选择弹窗
    putExtra(Intent.EXTRA_TEXT, formattedMessage)
}

// 检查设备安装WhatsApp后再跳转,避免崩溃
if (whatsappSendIntent.resolveActivity(packageManager) != null) {
    startActivity(whatsappSendIntent)
}

踩坑提示:不要在格式化标记(比如包裹粗体的*)和相邻的换行符之间插入多余的全角空格,否则会导致格式标记无法被识别,直接显示成原始的*符号。如果是对接WhatsApp Business API发消息,段落分隔规则和客户端跳转完全一致,直接在消息字段中传入带\n\n的字符串即可生效。

内容的提问来源于stack exchange,提问作者Jayant Kadge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.20 16:15:51