使用J2ME發(fā)送手機(jī)短信息

字號(hào):

在程序中,發(fā)送短信息的方式一般有三種:
    1、 使用程序在網(wǎng)絡(luò)上發(fā)送短信息,例如各大網(wǎng)站的短信業(yè)務(wù)。這種方式是通過程序?qū)⑿畔l(fā)送給運(yùn)營商的網(wǎng)關(guān)服務(wù)器,然后通過運(yùn)營商的網(wǎng)絡(luò)發(fā)送給手機(jī)。
    2、 在計(jì)算機(jī)中,通過數(shù)據(jù)線連接到手機(jī),然后通過手機(jī)來發(fā)送短信息。這種方式是通過使用AT指令來實(shí)現(xiàn)。愛立信手機(jī)的AT指令你可以在以下地址找到:
    http://mobilityworld.ericsson.com.cn/development/download_hit.asp
    3、 通過在手機(jī)中運(yùn)行的程序來發(fā)送短信息。這個(gè)正是本文實(shí)現(xiàn)的方式。
    在J2ME中,如果想發(fā)送短信息,需要使用WMA包,MIDP2.0中已經(jīng)包含,MIDP1.0中可以通過廠商提供的擴(kuò)展API實(shí)現(xiàn),和WMA的類庫基本一樣。
    下面是使用WMA向指定手機(jī)號(hào)碼發(fā)送短信息的一個(gè)方法,很簡單。當(dāng)然WMA也提供了其他的方式來發(fā)送更多的內(nèi)容。
    // SMSUtil.javapackage my.util;import javax.wireless.messaging.*;import javax.microedition.io.*;/*** 發(fā)送文本短信息的方法*/public class SMSUtil{/*** 給指定號(hào)碼發(fā)送短信息* @param content 短信息內(nèi)容* @param phoneNumber 手機(jī)號(hào)碼* @return 發(fā)送成功返回true,否則返回false*/public static boolean send(String content,String phoneNumber){//返回值boolean result = true;try{//地址String address = "sms://+" + phoneNumber;//建立連接MessageConnection conn = (MessageConnection)Connector.open(address);//設(shè)置短信息類型為文本,短信息有文本和二進(jìn)制兩種類型TextMessage msg = (TextMessage)conn.newMessage
    (MessageConnection.TEXT_MESSAGE);//設(shè)置信息內(nèi)容msg.setPayloadText(content);//發(fā)送conn.send(msg);}catch(Exception e){result = false;//未處理}return result;} }