java接收手机短信 最近开发中要实现java程序接收手机短信,但不知道方法,希望高手帮忙!不胜感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没做过,个人觉得接受的话需要硬件支持吧,有硬件就调用提供的API应该不难。 有两种方案:1.到电信去开通,电信给你API接口(要以公司的名誉)2.买个短信猫,个人都可以发!不过好像现在短信猫的一天不能超过1000条,而且发送速度也不怎么快 我问了移动的客服,他说短信的接收是他们提供的软件处理,我问他api接口的是,他说不知道,叫我把问题留下说之后解决就完了。 /** * 发送短信通知 * * @return */ public static String sendSMS(String phone, String content) { SUBMIT mt = new SUBMIT(); String retVal = ""; mt.setSrcID(""); mt.setDestID(phone); // 用户号码 mt.setServiceID("10");// 下行通道。(或下行短信业务) mt.setMsgContent(content);// 短信内容 retVal = ComFun.sendSMS(mt); return retVal; }public static void wapSend(String phone, String content) { WapPushClient wapPushClient = new WapPushClient(); wapPushClient.start(); WapPushSUBMIT mt = new WapPushSUBMIT(); mt.setDest_terminal_Id(phone); // 接收WAPPUSH的手机号码 // mt.setURL_Content("www.sina.com.cn:10000/push");// 推送的URL连接内容 mt.setMsg_Content(content);// 主题内容 // mt.setServicId("46");//下行通道(或下行业务标识) String retVal = ComFun.sendWapPush(mt); wapPushClient.stop(); } 用部分手机也可以发,但是需要了解一定的东西:1. 手机和电脑连续,看是否可以识别成Modem设备2. 如果能识别,可以用Java的Comm去使用这个Modem设备3. 大部分的IO都符合AT通信规范,照着查一下就可以了 看了楼上的回答,多明白了一点东西.我在公司做过短信这块,不过是公司在电信和联通申请SP,开通短信和彩信.移动电信联通的接口都不一样,他们会提供相关协议文档,移动的是SMGG吧,电信的是SMGP,联通的是SGIP. 楼主自己在做啊?没有公司支持?你问的人不对,移动客服怎么可能知道这些问题~~~~最简单的话是楼上提到的硬件短信猫,其实你这里的短信猫就像相当于一个手机,一般针对小型应用。这种情况不需要和电信部门打交道。如果你想上规模(想想原来一些网站提供的彩信业务,以及一些银行的手机功能,类似于ISP)。你需要申请一个服务号(楼上也有提到的SP,我不知道去电信的哪个部门申请),你就会有类似于一个什么ISP号和ip地址,这就是电讯的短信网关地址哦。你程序以客户端形式向这个网关发送封包的短信。然后通过电信设备向目标手机发送消息。至于如何封包,楼上提到移动的SMGG协议,电信的是SMGP,联通的是SGIP,以前用的基本是华为的包,这个说明使用文档应该是可以得到的,其实就是java包了,也包括其他编程语言包。 1.正如楼上的所说买个短信猫,和一个手机卡搞定。2.可以自己在网上下载一个 短信模拟器,像移动的彩信模拟器MM7 API,结合自己写的代码,就可以了。 1.自己做SP,需要向电信运营商申请,需要懂他们的接口规范然后开发。这种可能价格上便宜点,但是技术上难度大一些,而且申请SP估计不那么容易;2.利用别人的短信接口,比如亿美软通、广州首易,都做的比较大,通道也比较成熟,可能价格上较上者贵一些。不过接收短信是下行,有一些短信提供商不一定愿意。可以先向提供商搞个SDK的DEMO试试,一般都提供这种测试的,再咨询详实事宜。 还有一个观点。当初我做过对【移动飞信】的二次开发,弄出他的dll,使用c#做界面,再用java调这个c#做的exe程序。当时做到了如果是移动的用户、并且已经在好友里,是可以实现的。收短信没试过,你可以试试。:)全免费。但是java与c#的交互比较麻烦。特别是取和存一些相关信息的时候。 字符串转化 四川那些服务器代理商靠谱点,而且质量好点的。。经常接触这方面的朋友进来给点意见 BigInteger 怎么转成 Long 类型的 线程同步及waite问题,谢谢! 问个向上转型的问题 最近想研究JDK中的jar 看了张孝祥的教程后,感觉更迷茫 关与从数据库提取数据的问题!!急!!!!!!!!!!!!!! 有谁在Unix上用过RMI么?rmiregistry启动后如何停下来? 如何手动添加jre的注册表信息? 初学者问题:JAVA到底能开发什么软件? 关于IO流
1.到电信去开通,电信给你API接口(要以公司的名誉)
2.买个短信猫,个人都可以发!不过好像现在短信猫的一天不能超过1000条,而且发送速度也不怎么快
我问他api接口的是,他说不知道,叫我把问题留下说之后解
决就完了。
* 发送短信通知
*
* @return
*/
public static String sendSMS(String phone, String content) {
SUBMIT mt = new SUBMIT();
String retVal = "";
mt.setSrcID("");
mt.setDestID(phone); // 用户号码
mt.setServiceID("10");// 下行通道。(或下行短信业务)
mt.setMsgContent(content);// 短信内容
retVal = ComFun.sendSMS(mt);
return retVal;
}
public static void wapSend(String phone, String content) {
WapPushClient wapPushClient = new WapPushClient();
wapPushClient.start();
WapPushSUBMIT mt = new WapPushSUBMIT();
mt.setDest_terminal_Id(phone); // 接收WAPPUSH的手机号码
// mt.setURL_Content("www.sina.com.cn:10000/push");// 推送的URL连接内容
mt.setMsg_Content(content);// 主题内容
// mt.setServicId("46");//下行通道(或下行业务标识)
String retVal = ComFun.sendWapPush(mt);
wapPushClient.stop(); }
1. 手机和电脑连续,看是否可以识别成Modem设备
2. 如果能识别,可以用Java的Comm去使用这个Modem设备
3. 大部分的IO都符合AT通信规范,照着查一下就可以了
我在公司做过短信这块,不过是公司在电信和联通申请SP,开通短信和彩信.移动电信联通的接口都不一样,他们会提供相关协议文档,移动的是SMGG吧,电信的是SMGP,联通的是SGIP.
你需要申请一个服务号(楼上也有提到的SP,我不知道去电信的哪个部门申请),你就会有类似于一个什么ISP号和ip地址,这就是电讯的短信网关地址哦。你程序以客户端形式向这个网关发送封包的短信。然后通过电信设备向目标手机发送消息。
至于如何封包,楼上提到移动的SMGG协议,电信的是SMGP,联通的是SGIP,以前用的基本是华为的包,这个说明使用文档应该是可以得到的,其实就是java包了,也包括其他编程语言包。
2.可以自己在网上下载一个 短信模拟器,像移动的彩信模拟器MM7 API,结合自己写的代码,就可以了。
2.利用别人的短信接口,比如亿美软通、广州首易,都做的比较大,通道也比较成熟,可能价格上较上者贵一些。不过接收短信是下行,有一些短信提供商不一定愿意。可以先向提供商搞个SDK的DEMO试试,一般都提供这种测试的,再咨询详实事宜。
当初我做过对【移动飞信】的二次开发,弄出他的dll,使用c#做界面,再用java调这个c#做的exe程序。当时做到了如果是移动的用户、并且已经在好友里,是可以实现的。收短信没试过,你可以试试。:)全免费。
但是java与c#的交互比较麻烦。特别是取和存一些相关信息的时候。