【发布时间】:2011-06-14 20:18:43
【问题描述】:
我想知道 Android 是否具有与 iPhone 类似的功能,即您可以通过将 HREF 属性设置为您要发送消息的电话号码并添加前缀来使用 HTML A 标签发送短信用“短信:”,即href="SMS:02313213"
我环顾四周,似乎找不到任何表明它可以在 Android 上使用的东西。
【问题讨论】:
-
你知道为什么 smsto: 没有电话号码就不能工作吗?
我想知道 Android 是否具有与 iPhone 类似的功能,即您可以通过将 HREF 属性设置为您要发送消息的电话号码并添加前缀来使用 HTML A 标签发送短信用“短信:”,即href="SMS:02313213"
我环顾四周,似乎找不到任何表明它可以在 Android 上使用的东西。
【问题讨论】:
我发现以下内容可能对您有所帮助:
https://www.rfc-editor.org/rfc/rfc5724
您可以查看此 RFC 的第 2.5 或 2.6 小节,为您提供一些关于制定正确 SMS URL 的额外指示。
例如。使用 rfc5724 的 2.2 小节中详述的正式 URI 规范:
<a href="sms:+19725551212?body=hello%20there">SMS Me</a>
请注意上例中“空格”的“转义”字符。
希望 Android 浏览器允许您基于此语法生成 XHTML 表单。我相信他们会的(如果我第二天有时间,我会在我的 Galaxy S 上试一试)。
【讨论】:
sms:number?body=foo。目前(2020 年 9 月),Android 将电话号码转换为拨号-number 可点击链接,而 iOS 将整个内容转换为 message-this-number-including-body 可点击链接。因此,iOS 目前似乎比 Android 对 SMS-URL 更友好,至少在一个网络上下文。
href="sms:+xxx" 适用于我的 HTC Desire Android 2.2 浏览器和 Sense SMS 应用程序,但 sms:+xxx?body= 不能 - 错误:收件人无效。我只是对设置身体真正感兴趣 - 有人见过/解决了这个问题吗?
我的测试页在这里:http://jsbin.com/itama4/15
【讨论】:
应该可以的:
<a href="sms:+437722735932">contact</a>
【讨论】:
我注意到,如果您使用带有 mms:<phone_number>?body=<your message here.> 文本的 qrc 代码,这似乎可以工作并避免错误:无效收件人
这是一个测试qrc http://qrcode.kaywa.com/img.php?s=8&d=mms%3A555-555-5555%3Fbody%3DYour%20Message
【讨论】:
如果需要多个收件人,这可行:
安卓:
sms:+15558675309,+15558675301?body=Text%20Here%20end!
iOS、macOS:
sms://open?addresses=+15558675309,+15558675301/&body=Text%20Here%20end!
【讨论】:
如果您想在 Android 和 IOS 中允许,以下技巧在这两种设备上都对我有用。
不加号:
sms:?&body<Your message goes here>
【讨论】:
如果您需要一个适用于 Android 和 iOS 的 URL,您可以这样做:
sms:+123456789?&body=hello%20there
【讨论】:
您可以使用 CSS 技巧来显示其中一个: CSS media query to target only iOS devices
@supports (-webkit-touch-callout:none) {
/* CSS specific to iOS devices */
.android { display:none }
}
@supports not (-webkit-touch-callout:none) {
/* CSS for other than iOS devices */
.ios { display:none }
}
<a class="ios" href="sms://+12345">SMS me</a>
<a class="android" href="sms:+12345">SMS me</a>
【讨论】: