经过周末的学习,终于搞明白了ios中发送短信的方法和机制,现在分享给大家
1、根据ios官方文档描述,使用a标签只能在打开的短信功能中传送一个手机号码,不能传送多个号码,也不能传送消息文本内容。
2、安卓使用a标签,可通过号码间添加“,”传送多个号码,也可以添加?body参数传送消息文本内容。
3、安卓可通过cordova插件实现后台发送短信,不弹出短信发送界面,但初次执行会有权限提示。
4、ios可通过cordova插件实现发送多个号码短信,会弹出短信发送界面。
5、据说ios后台发短信会无法上架,未验证,本插件仅支持弹出方式群发短信
下面是具体实现:
1、从github下载插件,地址为:https://github.com/cordova-sms/cordova-sms-plugin
2、导入本地plugins中,修改xml中的id与文件夹一致(参考起步相关文档)
3、js代码如下:
define(function(require){ var $ = require("jquery"); var justep = require("$UI/system/lib/justep"); require("$UI/system/lib/cordova/cordova"); require("cordova!cordova-sms-plugin");
var Model = function(){ this.callParent(); }; //点击按钮,打开群发短信界面 Model.prototype.btnsendsmsClick = function(event){ var success = function () { alert('Message sent successfully'); }; var error = function (e) { alert('Message Failed:' + e); }; sms.send("13810172836,15810960985", "helloworld",success,error); };
return Model; });
ps:使用本插件,打Android包时会报错,原因是插件作者使用了过时的方法,可自行注释掉插件中Android部分的相关java代码,其核心发短信功能不受影响,且其回调方法有误,也可自行修改。 个人建议仅ios使用本插件发送短信,而Android可直接用a标签发送。 如有问题可跟帖。 最后,非常感谢版主对我开发过程中问题的耐心解答,因为你才有了这个帖子。
|