11

我的网站上有一个链接,可以打开带有新消息的文本。以下链接适用于大多数 Android 手机:

sms:5555555555?body=JOIN

但在 Galaxy S7 上,?body=JOIN 参数被解释为电话号码本身的一部分,就像我们在键盘上输入的字母一样。因此,上面的示例将向电话号码打开一条新消息:555555555526395646和一个空的消息正文。

我自己没有s7,所以很难调试。有什么想法我可以尝试使其在 s7 上按预期工作吗?

4

3 回答 3

1

不同的平台,它会以不同的方式工作。检查此链接上的挑战部分

对于 iOS 相同的问题,对于 android,它的部分支持

于 2017-10-11T04:17:36.537 回答
0

正如 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 的格式不同)。另外,请注意,处理 SMS URI 的应用程序可以在 Android 上更改,制造商会利用它(这可能是首先导致 S7 故障的原因)。因此,使用异常进行调整可能有点麻烦。

否则,您可以考虑使用现有的包(如sms )或服务(如Twilio)。

于 2017-10-19T09:06:05.263 回答
0

虽然我无法重现该行为,但这里有一些来自RFC寻址sms:tel:URI 方案的链接。

根据RFC 5724 - URI Scheme for GSM Short Message Service的第 2.2 节是URI的正式定义,它表示(您要发送短信的电话号码)必须与RFC 3966中定义的相同。sms-recipienttelephone-subscriber

虽然,您的 URI 似乎在大多数设备上都能正常工作(怪癖?边缘情况?),但您必须与 RFC 中描述的格式进行交叉检查,以确保其符合标准。或者它可能是设备本身的软件/解析器错误!(虽然不确定……)

于 2017-10-25T13:38:26.607 回答