在程序中,發送短信息的方式一般有三種:
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;
}
}