为什么 android 默认消息应用程序中没有显示 (&) 符号?

Why (&) sign is not showing in android default messaging app?

我正在使用 html 中的 sms 方法通过 android 默认消息传递应用程序发送我的消息 (Hello & Welcome)。

这是我的代码:

    <a href="sms:001234567890?body=Hello%20%26%20Welcome">
        <button>
            Say Hello,
        </button>
    </a>

我期待Hello & Welcome

但是 android 默认消息应用只显示 Hello 而不是 & Welcome(完整消息正文)

我也试过:

%26
&
&amp;
&#38;
&#x26;

但是还是没有显示。

您可以在发送消息时使用此方法进行编码,并通过给定的方法进行解码以显示。

private String encodeMessage(String message) {
 message = message.replaceAll("&", ":and:");
 message = message.replaceAll("\+", ":plus:");
 return StringEscapeUtils.escapeJava(message);
}

private String decodeMessage(String message) {
 message = message.replaceAll(":and:", "&");
 message = message.replaceAll(":plus:", "+");
 return StringEscapeUtils.unescapeJava(message);
}

试试这个

    <a href="sms:001234567890?body=Hello+%26+Welcome">

Refer this

我想你发现了一个错误! 注意这里的区别(&%):

  • IOS:

    <a href="sms:1234&body=hi">Send an SMS</a>

  • Android:

    <a href="sms:1234?body=Test">Send an SMS</a>

您可以像这样将它们结合起来以支持两者:

 <a href="sms:0427618944?&body=Blah">Send a SMS message</a>

现在...这很痛苦。我什至能够崩溃 Android Messenger...我几乎找不到关于 SMS 链接的文档。

具体来说 & 有问题。下面我插入了一个感叹号,它工作正常。

 <a href="sms:0427618944?&body=Hello%20%21%20Welcome">Send a SMS message</a>