J2ME短信发送在有些BlackBerry手机上可能不工作,如下是基于BlackBerry平台实现,使用DatagramConnectionBase发送。
public Datagram toDatagram(String msg, DatagramConnectionBase datagramConnectionBase, String phoneNumber) throws IOException
{
DatagramBase datagram = null;
byte[] data = msg.getBytes();
datagram = (DatagramBase) datagramConnectionBase.newDatagram();
SmsAddress smsAddress = new SmsAddress("//" + phoneNumber);
SMSPacketHeader smsPacketHeader = smsAddress.getHeader();
datagram.setAddressBase(smsAddress);
datagram.write(data, 0, data.length);
return datagram;
}
public void sendMessage(String msg, String number) throws Exception{
DatagramConnectionBase _conn = (DatagramConnectionBase) Connector.open("sms://:0");
_conn.send(toDatagram(msg, _conn, number));
_conn.close();
}