从 Web 应用程序打开短信编辑器

Tom*_*mmi 6 html javascript android ios windows-phone

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

stackoverflow 中有很多建议,可以通过 javascript 格式化锚点或重定向,但不幸的是,这些解决方案已经过时,要么无法按原样工作,要么出于安全原因被删除。

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

<a href="sms:;body=Hello world">Send SMS</a>
<a href="sms:;body=Hello%20world">Send SMS</a>
Run Code Online (Sandbox Code Playgroud)

以前可以在 IOS 设备上运行,但现在不再运行了。显然,只有当您提供联系人中的电话号码时,预填充的正文才有效。

<a href="sms:?body=Hello world">Send SMS</a>
<a href="sms:?body=Hello%20world">Send SMS</a>
Run Code Online (Sandbox Code Playgroud)

适用于大多数 Android 设备。打开短信编辑器,但只有某些版本允许预填充正文。

Windows Phone 似乎没有做任何事情。

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

Rah*_*iya 8

100% 工作

// 对于安卓

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

// 对于IOS

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

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

正文 = 短信正文

信用转到:- https://codepen.io/gil--/pen/KMaRmp


小智 -1

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

<a href="sms:+12345678901">sms link</a>
Run Code Online (Sandbox Code Playgroud)

打开消息应用程序。

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