在程序中,发送短信息的方式一般有三种:
1、 使用程序在网络上发送短信息,例如各大网站的短信业务。这种方式是通过程序将信息发送给运营商的网关服务器,然后通过运营商的网络发送给手机。
2、 在计算机中,通过数据线连接到手机,然后通过手机来发送短信息。这种方式是通过使用AT指令来实现。爱立信手机的AT指令你可以在以下地址找到:http://mobilityworld.ericsson.com.cn/development/download_hit.asp
3、 通过在手机中运行的程序来发送短信息。这个正是本文实现的方式。
在J2ME中,如果想发送短信息,需要使用WMA包,MIDP2.0中已经包含,MIDP1.0
中可以通过厂商提供的扩展API实现,和WMA的类库基本一样。
下面是使用WMA向指定手机号码发送短信息的一个方法,很简单。当然WMA也提供了其他的方式来发送更多的内容。
//SMSUtil.java package my.util; import javax.wireless.messaging.*; import javax.microedition.io.*; /** * * 发送文本短信息的方法 * */ public class SMSUtil { /** * * 给指定号码发送短信息 * * @param content * 短信息内容 * * @param phoneNumber * 手机号码 * * @return 发送成功返回true,否则返回false * */ public static boolean send(String content, String phoneNumber) { // 返回值 boolean result = true; try { // 地址 String address = "sms://+" + phoneNumber; // 建立连接 MessageConnection conn = (MessageConnection) Connector .open(address); // 设置短信息类型为文本,短信息有文本和二进制两种类型 TextMessage msg = (TextMessage) conn.newMessage(MessageConnection. TEXT_MESSAGE); // 设置信息内容 msg.setPayloadText(content); // 发送 conn.send(msg); } catch (Exception e) { result = false; // 未处理 } return result; } }