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

Javascript 为什么android默认消息应用程序中未显示(&;)符号?,javascript,android,html,url,sms,Javascript,Android,Html,Url,Sms,我正在使用html中的sms方法通过android默认消息应用程序发送我的消息(Hello&Welcome) 这是我的密码: <a href="sms:001234567890?body=Hello%20%26%20Welcome"> <button> Say Hello, </button> </a> 我期待你好&欢迎 但android默认消息应用程序只显示了Hell

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

这是我的密码:

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

我期待
你好&欢迎

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

我也尝试过:

%26

&
&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">

我想你发现了一个bug! 请注意此处的差异(
&
%
):

  • IOS:

  • 安卓:

您可以将它们结合起来以支持这两种功能,如下所示:

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

谢谢,但它仍然显示“你好”
不是完整的消息。通常情况下,消息应用程序不支持表情符号和特殊字符,正如您提到的,您正在使用消息应用程序,因此在发送消息时,请对您的身体部位进行编码,然后发送,当您想要显示接收到的消息时,只需通过传递编码字符串来使用decode方法。只需在build.gradle.Sorry中添加“implementation”org.apache.commons:commons-lang3:3.4,我没有使用短信应用程序我使用的是html,我有一个按钮,使用
sms
方法在android上的任何默认短信应用程序中写入我的短信,我的问题是如果我的短信包含
&
符号,它将不会显示在android默认短信应用程序中。谢谢,但这并不能解决我的问题,因为如果我用
替换链接的
&
符号,我必须通过短信发送包含
&
符号的链接符号然后它将变为无效,因此我无法更改
&
符号。但是,如果我使用android应用程序中的
android send intent
发送相同的消息,那么它会显示
&
符号。@AndroidExpert Yeah mate我知道,问题是目前没有解决问题的方法,因为在插入和符号时,它似乎被破坏了。我今天提供的解决方案是说(目前)没有办法做到这一点。我是否可以使用
android send intent
而不是
sms
方法从html发送消息,或者是否有其他方法可以使用
sms
?@AndroidExpert用户需要发送短信的原因是什么?如果它不必来自用户,您可以使用如下服务Twillo@AndroidExpert您能将其标记为当前解决方案吗?您可以尝试对编码的“与”符号上的百分比符号进行百分比编码;i、 例如,
body=Hello%20%2526%20Welcome
,特别是那里的
%2526
。根据特定SMS应用程序读取和解码正文的确切方式,它可能会在消息中出现
&
%26
,但由于您在URL中使用它,我认为这两种方式都可以。@MikeM。谢谢你
%2526
很有效,非常感谢。
 <a href="sms:0427618944?&body=Hello%20%21%20Welcome">Send a SMS message</a>