首先需要寫(xiě)一個(gè)bookmark的xml文件,這個(gè)格式可以去nokia網(wǎng)站下載。下面是一個(gè)例子:
<?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短點(diǎn),這樣編碼后可以放到一條短消息里面,而不需要把一個(gè)設(shè)置拆分成多個(gè)短消息體。大致的一個(gè)封裝是把xml文件轉(zhuǎn)成wbxml,然后再在外面封裝WSP層,最外面是WDP層。
WDP的一般格式是“0B0504C34FC002000304xxyy”,其中xx就是整個(gè)數(shù)據(jù)包的總片斷數(shù)目,而yy表示當(dāng)前片斷是第幾個(gè)片斷。舉個(gè)例子,一個(gè)簡(jiǎn)單的bookmark全部放在一個(gè)sms中這樣xx=01,yy=01。
下面是每個(gè)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"
每個(gè)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了,首先必須有個(gè)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這個(gè)文檔,里面很詳細(xì)的描述了每一個(gè)XML元素對(duì)應(yīng)的十六進(jìn)制。最后注意一點(diǎn),發(fā)送的時(shí)候要按8bit格式的發(fā)送,而不是7bit格式。
http://www.cnblogs.com/zhengyun_ustc/archive/2005/09/05/otawapbookmark.html
[SMS&WAP]實(shí)例講解制作OTA短信來(lái)自動(dòng)配置手機(jī)WAP書(shū)簽[附源碼]
摘要:OTA,即Over The Air,國(guó)內(nèi)翻譯為空中下載。
OTA標(biāo)準(zhǔn)由愛(ài)立信和諾基亞共同制訂。OTA涵蓋了許多范圍,比如Kjava中的應(yīng)用程序下載也是通過(guò)OTA。我們這篇文章主要講的是,通過(guò)短信方式空中下載配置信息,參考的文檔是OTA_settings_general_7_0.pdf。
規(guī)范中定義了三種Setting:
? 瀏覽器設(shè)置
? 瀏覽器的書(shū)簽設(shè)置
? SyncML設(shè)置
也就是說(shuō),你通過(guò)發(fā)送短信可以幫助用戶手機(jī)配置這三種設(shè)置。
原則上,你只要看了OTA_settings_general_7_0.pdf,并參照OTA_service_settings_example_v11.pdf,就可以輕松地制作出符合規(guī)范的OTA短信。
但是,本文檔的目的就是讓你簡(jiǎn)單粗暴地直奔主題,看完這篇文檔后,就了解了OTA短信的概念,通過(guò)以下代碼:
OTAMessage
OTAMessage message = new OTAMessage();
txtOTAResult.Text = message.Get