Android上的短信URL

Android上的短信URL,android,sms,Android,Sms,我想知道Android是否具有与iPhone类似的功能,即您可以使用HTML a标记发送短信,方法是将HREF属性设置为您要发送短信的电话号码,并在其前面加上“SMS:”,即HREF=“SMS:02313213” 我环顾四周,似乎找不到任何东西表明它可以在Android上使用。应该可以: <a href="sms:+437722735932">contact</a> 我发现以下内容可能对您有所帮助: 您可以查看本RFC的第2.5或2.6小节,为您提供有关制定正确SMS

我想知道Android是否具有与iPhone类似的功能,即您可以使用HTML a标记发送短信,方法是将
HREF
属性设置为您要发送短信的电话号码,并在其前面加上“SMS:”,即
HREF=“SMS:02313213”

我环顾四周,似乎找不到任何东西表明它可以在Android上使用。

应该可以:

<a href="sms:+437722735932">contact</a>

我发现以下内容可能对您有所帮助:

您可以查看本RFC的第2.5或2.6小节,为您提供有关制定正确SMS URL的其他指南

例如,使用正式的URI规范,详见第2.2小节:


注意上面示例中“空格”的“转义”字符

希望Android浏览器能够允许您基于这种语法生成XHTML表单。我相信他们会的(如果我第二天有时间,我会在我的Galaxy S上试一试)。

href=“sms:+xxx”在我的股票HTC Desire Android 2.2浏览器和Sense sms应用程序上工作,但sms:+xxx?body=没有-错误:无效收件人。我只对设置身体感兴趣-有人看到/解决了这个问题吗


我的测试页面在这里:

我注意到,如果您对
mms:?body=
使用带有文本的qrc代码,这似乎有效并避免了错误:无效收件人


这里是一个测试qrc

如果需要多个接收者,它可以工作:

安卓:

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>
sms:?&body

您可以使用CSS技巧显示其中一个:

@支持(-webkit touch callout:none){
/*特定于iOS设备的CSS*/
.android{display:none}
}
@不支持(-webkit触摸标注:无){
/*iOS设备以外的CSS*/
.ios{显示:无}
}

如果您需要一个适用于Android和iOS的URL,您可以使用以下技巧:

sms:+123456789?&body=hello%20there

你知道为什么smsto:没有电话号码就不能工作吗?我也有同样的行为,我认为问题在于sence应用程序的工作方式。在我的手机(2.3.7 HTC EVO[Sense UI removed])上,它可以正常工作并在消息应用程序中正确打开,但当使用具有Sense UI的手机时,它会出现错误,并且只在没有正文内容的情况下工作。我现在有一个带有CyanogenMod 9的Galaxy S2(默认ICS SMS应用程序),这对我来说确实有效-因此我同意你的意见@Raymond.Delayed response(我很抱歉)-可以说,标准(如RFC)的采用通常在“实施者的眼中”。每个实施供应商选择他们希望如何解释规范或RFC。这就是互操作性测试会议的地方,例如开放移动联盟(现在的OMA Specworks)多年来一直在推广的IOP测试盛会()只有最近IETF基于QUIC()才出现了这样的功能。连字符也是允许的,只是为了视觉上的帮助。我在实际的短信中一直在使用这种URL(意思是,向短信接收者发送
SMS:number?body=foo
。目前(2020年9月),Android将电话号码转换为拨号号码可点击链接,而iOS将整个内容转换为消息,包括身体可点击链接。因此,iOS目前似乎比Android更友好一些,至少在网络环境之外。根据规范(rfc5724,第2.2小节)根据RFC3966-定义的sms收件人。我从您的回答中了解到。“未找到可用数据”……也许这在几年前起作用,但现在不起作用了!
@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>
sms:+123456789?&body=hello%20there