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

wooyq4lh  于 2023-11-20  发布在  iOS
关注(0)|答案(5)|浏览(121)

我正在寻找一个解决方案,它可以让我从网页打开本地短信编辑器。消息的身体必须预先填充和接收者的电话号码必须为空。
在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设备。打开短信编辑器,但只有部分版本允许预填充正文。
Windows Phone似乎什么也做不了。
我开始怀疑这是否只是一个无休止的兼容性问题的沼泽。Web应用程序构建的技术是ASP.NETMVC5。

kqlmhetl

kqlmhetl1#

100%工作
// for browser

if(navigator.userAgent.match(/Android/i)){
            
    window.open('sms://1900/?body=encodeURIComponent('sms body......'),'_blank')
      
}

字符串
//对于IOS

if(navigator.userAgent.match(/iPhone/i)){
           
 window.open('sms://1900/&body=encodeURIComponent('sms body......'),'_blank')
  
}


将1900替换为您要发送消息的号码
正文= SMS正文
图片来源:https://codepen.io/gil--/pen/KMaRmp

qxgroojn

qxgroojn2#

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

<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 5,6:

<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>


注意sms:&适用于iOS 8,sms:;适用于iOS 5,6(sms:?适用于Android)。
记住将文本编码在body=之后
来源:julianklotz

u4vypkhs

u4vypkhs3#

如果你想填充身体,但不是电话号码,这适用于Android和iOS 8 +
这就是链接
关键是:“短信:?&”

neskvpey

neskvpey4#

你可以打开它

window.open('sms:+1111111111')

字符串
它会打开消息应用程序,并准备为该号码写一些东西
注意:在Android中测试

cnh2zyt3

cnh2zyt35#

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

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

字符串
打开消息应用程序。
应用程序可以注册自定义协议方案来调用,当这样一个url的请求发出时。但据我所知,你的解决方案是一个纯web应用程序,所以答案是否定的,这是不可能的。

相关问题