現在SMS客戶端是創建起來了,也就是說你手上的設備已經和服務器建立了連接,那么如何發送短信息呢?首先,你應該使用MessageConnection接口的newMessage()方法創建一個空(empty)的消息,然后再設置該消息的PayloadText(也就是需要發送的文本或者是二進制數據),最后調用MessageConnection的send()方法將短信息發送到目標設備中去。請看下面的代碼:
public void sendText( MessageConnection conn, String text)
throws IOException, InterruptedIOException {
TextMessage msg = conn.newMessage( conn.TEXT_MESSAGE );
msg.setPayloadText( text );
conn.send( msg );
}
假如是發送二進制格式的數據,那么代碼略有不同:
public void sendBinary( MessageConnection conn, byte[] data)
throws IOException, InterruptedIOException {
BinaryMessage msg=conn.newMessage( conn.BINARY_MESSAGE);
當然了,你所能發送的數據量是有限的,一般來說,SMS文本信息可以包含160或者是70個字符,這依靠于你使用何種字符編碼,假如是二進制數據,那么容量是140字節(Note:The WMA requires support for message concatenation, however, which means that these limits are actually at least three times higher.)。同時,你可以使用MessageConnection接口的numberO fSegments()方法決定某一個非凡的短信息能否被發送,并且需要把這條信息拆分為多少個信息段(message segments)。