我的网站上有一个链接,用于打开带有新消息的文本。以下链接适用于大多数Android手机:
sms:5555555555?body=JOIN
但是在Galaxy S7上,?body = JOIN参数被解释为电话号码本身的一部分,就像我们在键盘上输入的字母一样。因此,上面的例子会打开一条新邮件给电话号码:555555555526395646
和一个空邮件正文。
我自己没有s7所以很难调试。还有什么想法我可以尝试让它在s7上按预期工作吗?
答案 0 :(得分:2)
不同的平台方面它将以不同的方式工作。检查此link
上的挑战部分对于iOS同样的问题在这里和android部分支持
答案 1 :(得分:1)
正如Rajesh所说,这对于不同的平台会有很大的不同,有时对于不同的版本。这是您将用于Android的结构:
<a href="sms:/* Phone Number */?body=/* Body of the message */">Link</a>
对于iOS:
<a href="sms:/* Phone Number */&body=/* Body of the message */">Link</a>
请记住,这些格式可以更改(在您的示例中,格式适用于大多数Android设备,但不适用于S7;在其他示例中,在iOS 7和iOS 8中发送SMS的格式不同)。此外,请注意,可以在Android上更改处理SMS URI的应用程序,并且制造商可以利用它(这可能是导致S7首先出现故障的原因)。因此,通过例外调整可能会有点麻烦。
答案 2 :(得分:0)
虽然我无法重现此行为,但以下是RFC's处理sms:
和tel:
URI方案的一些链接。
在section 2.2的RFC 5724 - URI Scheme for GSM Short Message Service下面是URI的正式定义,其中表示sms-recipient
(您希望将短信发送到的电话号码) )必须等于RFC 3966中定义的telephone-subscriber
。
虽然您的URI似乎在大多数设备上都能正常工作(quirk?edge-case?),但您必须使用RFC中描述的格式交叉检查格式,以确保它符合标准。或者它可能是设备本身的软件/解析器错误! (虽然不确定......)