从Web应用程序打开SMS编辑器

时间:2014-11-18 11:42:24

标签: javascript android html ios windows-phone

我正在寻找一个允许我从网页打开原生短信编辑器的解决方案。消息正文必须预填充,接收者的电话号码必须为空。

stackoverflow中有很多建议只是通过javascript格式化锚点或重定向但不幸的是这些解决方案已经过时,或者由于安全原因不能正常工作或被剥离。

我已经在各种平台上测试了以下格式,但不幸的是,它们并不适用于所有设备。我正在寻找一个通用的解决方案或库来满足我提到的要求。

<a href="sms:;body=Hello world">Send SMS</a>
<a href="sms:;body=Hello%20world">Send SMS</a>

用于在IOS设备上工作但不再工作。显然,预填充的机构仅在您提供联系人中的电话号码时才有效。

<a href="sms:?body=Hello world">Send SMS</a>
<a href="sms:?body=Hello%20world">Send SMS</a>

适用于大多数Android设备。打开SMS编辑器,但只有一些版本允许预填充体。

Windows Phone似乎无能为力。

我开始怀疑这是否只是一个无休止的兼容性问题。构建Web应用程序的技术是ASP.NET MVC 5.

4 个答案:

答案 0 :(得分:4)

这适用于iOS 8(已验证):

library(quantmod)

mySymbol = "^GSPC"
getSymbols(mySymbol, from="2004-01-01", to=Sys.Date())

chartSeries(Cl(mySymbol))

这个 应该适用于iOS 5,6:

<p>Open <a href="#" id="myLink">SMS</a>.</p>
<script>
    $('#myLink').click(function () {
        window.open('sms:&body=My%20text%20for%20iOS%208', '_self');
        return false;
    });
</script>

注意iOS 8的<p>Open <a href="#" id="myLink">SMS</a>.</p> <script> $('#myLink').click(function () { window.open('sms:;body=My%20text%20for%20iOS%205', '_self'); return false; }); </script> ,iOS 5的sms:&(Android的sms:;)。

请记住在sms:?

之后对文字进行编码

来源:julianklotz

答案 1 :(得分:1)

如果您想填充正文而不是电话号码,这适用于Android和IOS8 +

thisisthelink

关键是:“短信:?&amp;”

答案 2 :(得分:0)

100%工作

// for andriod

如果(navigator.userAgent.match(/ Android / i)) {

window.open(`sms:// 1900 /?body = encodeURIComponent('sms body ......'),'_ blank')

}

//对于IOS

如果(navigator.userAgent.match(/ iPhone / i)) {

window.open(`sms:// 1900 /&body = body = encodeURIComponent('sms body ......'),'_ blank')

  }

用您要发送消息的号码替换1900

身体=短信身体

贷方转到:-https://codepen.io/gil--/pen/KMaRmp

答案 3 :(得分:-1)

无法添加文字,只能添加电话号码

<a href="sms:+12345678901">sms link</a>

打开消息传递应用。

当发出带有此类网址的请求时,应用可以注册要调用的自定义协议方案。但据我所知,您的解决方案是一个纯粹的Web应用程序,所以答案是否定的,这是不可能的。