前端开发之调用原生打电话和发短信功能

        在开发过程中遇到了这样一个需求,就是需要在微信端公众号网页中加入打电话和发短信功能,于是查找了一些资料,通过js访问不同的url来达到目的。

        以下所有的结果都是在微信浏览器环境中执行的,本人手机iPhone7,系统iOS11.0.2。

        首先说打电话,在js中通过a标签的方法或者是window.location.href的方法跳转链接即可完成打电话功能。具体的url是"tel:"+phone 例如:window.location.href = "tel:13800000000",这就完成了对某个电话进行拨打,但是在微信中是有提示的 “确定拨打电话13800000000?”点击确定会出现一个呼叫13800000000的弹框也就是说两次确认。才会拨打电话。在安卓中是会触发一个菜单,这个就跟手机牌子型号有关系了。总之这个方法是可行的。

        再说发短信,在js中打电话和发短信的解决方法是差不多的,也是通过访问特殊链接的方法。具体的url是“sms:”+phone+"&body="+text 例如:window.location.href = "sms:13800000000&body=你好",这就完成了对某个手机进行发送短信,是跳到发送短信的页面需要你点击发送才可以发过去。但是注意,安卓和iOS在发短信的url有些差异,上述的例子是iOS版。安卓的需要把“&”改成“?”即变成“sms:13800000000?body=你好”。同理,由于iOS的安全性考虑,会有提示,提示内容目前不知道怎么修改,就很不符合常规,会把,如果有高玩知道怎么修改也可以发表看法。感激不尽。

        最后说一下在这个执行时候遇到的bug,由于我的系统是iOS11.0.2。所以在发短信的时候出现了这样一个bug,就是你如果不打开短信这个功能的时候,点击他会自动跳到短信页面但是电话和内容都没有初始化,可能是这个版本系统的问题,但如果你的短信是在后台跑着的话就可以初始化到发信息页面,电话和内容都已经准备完毕。所以在这个系统版本我试了一下在苹果原生的通讯录中对某人点击发短信,也会出现这样的情况,基本可以确定这应该算是个iOS系统的bug。不过不影响大局,再次重申,以上的测试都是在微信浏览器中运行的,如果有码友有兴趣,可以测一测这个代码的兼容性。希望可以帮到需要的人,也希望本小白说的有问题的话指出来,虚心接受。

转载于:https://my.oschina.net/u/3070776/blog/1548964

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值