首先需要寫一個bookmark的xml文件,這個格式可以去nokia網(wǎng)站下載。下面是一個例子:
<?xml version="1.0"?>
<!DOCTYPE CHARACTERISTIC-LIST PUBLIC "" "characteristic_list.dtd">
<CHARACTERISTIC-LIST>
<CHARACTERISTIC TYPE="BOOKMARK">
<PARM NAME="NAME" VALUE="bookmark name"/>
<PARM NAME="URL" VALUE=">
</CHARACTERISTIC>
</CHARACTERISTIC-LIST>
盡量讓name和url短點,這樣編碼后可以放到一條短消息里面,而不需要把一個設置拆分成多個短消息體。大致的一個封裝是把xml文件轉(zhuǎn)成wbxml,然后再在外面封裝WSP層,最外面是WDP層。
WDP的一般格式是“0B0504C34FC002000304xxyy”,其中xx就是整個數(shù)據(jù)包的總片斷數(shù)目,而yy表示當前片斷是第幾個片斷。舉個例子,一個簡單的bookmark全部放在一個sms中這樣xx=01,yy=01。
下面是每個byte的意思:
# 0B | User-Data-Header (UDHL) Length = 11 bytes
# 05 | UDH IE identifier: Port numbers
# 04 | UDH port number IE length
# C3 | Destination port (high)
# 4F | Destination port (low)
# C0 | Originating port (high)
# 02 | Originating port (low)
# 00 | UDH IE identifier: SAR
# 03 | UDH SAR IE length
# 04 | Datagram ref no.
#
# Two variable bytes, intentionally missing from WDP header, user must
# calculate and add at send time.
#
# xx | Total number of segments in datagram
# yy | Segment count
bookmark的WSP層的格式一般是"01062D1F2A6170706C69636174696F6E2F782D7761702D70726F762E62726F777365722D626F6F6B6D61726B730081EA"
每個byte的具體意思是:
# 01 | Transaction ID /
# 06 | PDU type (push)
# xx | Header length (content type headers)
# 1F | Value length quote length greater than 30
# 2A | Value length (value name not used)
# xx | Mimetype encoded, variable bytes | application/x-wap-prov.browser-{bookmarks | settings}
# 00 | Null termination of content type string |
# 81 | Charset | Well known PARM. (short integer)
# EA | UTF-8 (using short integer)
最里層就是WBXML了,首先必須有個xml的頭"01016A00"
# 01 | Version | WBXML 1.1
# 01 | Unknown public identifier |
# 6A | Charset | UTF-8
# 00 | String table length |
至于其他的具體編碼可以去
http://www.forum.nokia.com查看OTA_settings_general_7_0.pdf這個文檔,里面很詳細的描述了每一個XML元素對應的十六進制。最后注意一點,發(fā)送的時候要按8bit格式的發(fā)送,而不是7bit格式。
http://www.cnblogs.com/zhengyun_ustc/archive/2005/09/05/otawapbookmark.html
[SMS&WAP]實例講解制作OTA短信來自動配置手機WAP書簽[附源碼]
摘要:OTA,即Over The Air,國內(nèi)翻譯為空中下載。
OTA標準由愛立信和諾基亞共同制訂。OTA涵蓋了許多范圍,比如Kjava中的應用程序下載也是通過OTA。我們這篇文章主要講的是,通過短信方式空中下載配置信息,參考的文檔是OTA_settings_general_7_0.pdf。
規(guī)范中定義了三種Setting:
? 瀏覽器設置
? 瀏覽器的書簽設置
? SyncML設置
也就是說,你通過發(fā)送短信可以幫助用戶手機配置這三種設置。
原則上,你只要看了OTA_settings_general_7_0.pdf,并參照OTA_service_settings_example_v11.pdf,就可以輕松地制作出符合規(guī)范的OTA短信。
但是,本文檔的目的就是讓你簡單粗暴地直奔主題,看完這篇文檔后,就了解了OTA短信的概念,通過以下代碼:
OTAMessage
OTAMessage message = new OTAMessage();
txtOTAResult.Text = message.Get