TSJ000306 – MIDP:系統屬性

這一篇是我在TSJ000306 – MIDP: System properties的中文翻譯,總共翻譯了15天,中間雖然夾雜著更改工作達人的佈景,不過仍算是久的了,網址在TSJ000306 – MIDP:系統屬性
為了備份,並轉貼在此:

ID TSJ000306 Creation date November 30, 2005; updated December 7, 2007
Platform Series 40 Platform, S60 Platform Devices
Category Java ME Subcategory MIDP
Keywords (APIs, classes, methods, functions):

說明

這份文件列出呼叫System.getProperty()方法所擷取出的系統屬性,關於本篇文章的系統屬性MIDlet會用來檢查設備支援的系統屬性。
假如系統屬性字串回傳”null”,這個功能沒有支援,有些系統屬性即使其相關的API有支援也可能傳回”null”,這是因為所列出的系統屬性包括列在 移動服務架構(JSR-177)的屬性,舉例40 3rd Edition, FP2系列的設備有SATSA-APDU套件(JSR-177),但是”microedition.satsa.apdu.version”系統屬性傳 回”null”。

CLDC 1.0 & 1.1、MIDP 1.0 & 2.0及JTWI 1.0

字串 說明
microedition.profiles 對於MIDP 2.0設備來說,這個屬性必須至少包含”MIDP-2.0“。
microedition.configuration 這個設備支援的J2ME組態,例如,”CLDC-1.0“。
microedition.locale 這台設備上本地設置的名稱,例如,”en-US“。
microedition.platform 主機平台或設備的名稱,在Nokia設備裡名稱包含有”Nokia”、設備型號及軟體版本等用”/”分隔的訊息,在”Nokia”跟型號間沒有空格也沒有”/”,這個平台字串的正式語法是:Nokia MODEL_NUMBER "/" SW_VERSION,例如,”Nokia6310i/4.42或Nokia3510i/p1.25“。
microedition.encoding 傳回平台的預設字元編碼,在Nokia設備裡這個值是”ISO-8859-1“。
microedition.commports 以逗號分隔的port列表會傳回:前綴的url字串用來打開串列埠連接。
microedition.hostname 定義在MIDP 2.0裡的javax.microedition.io.SocketConnection getLocalAddress()方法,假如可用的話傳回本地主機名稱。
microedition.jtwi.version 確認這個規格的相容設備及執行的版本,這個microedition.jtwi.version系統屬性的值必須是”1.0“。
microedition.msa.version 支援的MSA規格版本編號,可能的值有”1.0“或”1.0-SUBSET“來執行符合本規格。

套件展開

字串 說明
microedition.media.version 假如這個可選套件有支援,傳回一個版本字串,否則傳回”null“。
microedition.pim.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.m3g.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.location.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
bluetooth.api.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.io.file.FileConnection.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.global.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.chapi.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
microedition.sip.version 假如這個可選套件有支援,傳回版本字串,否則傳回”null“。
wireless.messaging.version 假如這個可選套件無線通訊API (JSR-120/205)有支援,傳回版本字串,否則傳回”null“。
microedition.amms.version 假如這個可選套件高級多媒體補充(JSR-234)有支援,傳回版本字串,否則傳回”null“。
microedition.m2g.version 假如這個可選套件J2ME的可縮放2D向量圖形API(JSR-226)有支援,傳回版本字串,否則傳回”null“。
microedition.payment.version 假如這個可選套件付款API (JSR-229)有支援,傳回版本字串,否則傳回”null“。
microedition.contactless.version 假如這個可選套件非接觸式通訊API (JSR-257)有支援,傳回版本字串,否則傳回”null“。
microedition.sensor.version 假如這個可選套件行動感測器API (JSR-256)有支援,傳回版本字串,否則傳回”null“。
obex.api.version 假如這個可選套件物件交換協定(OBEX)API(JSR-82)有支援,傳回版本字串,否則傳回”null“。

移動媒體API(JSR-135)

字串 說明
supports.mixing 查詢音頻混合是否支援,傳回的字串不是”true“就是”false“,假如混合有支援,下面的情況是true:

  • Manager.playTone至少同時有兩個聲調可以使用。
  • Manager.playTone可在同一時間,至少有一名演奏者播放音頻。
  • 至少同時可以有兩個演奏者播放音頻。
supports.audio.capture 查詢聲音擷取是否支援,傳回的字串不是”true“就是”false“。
supports.video.capture 查詢視頻擷取是否支援,傳回的字串不是”true“就是”false“。
supports.recording 查詢紀錄是否支援,傳回的字串不是”true“就是”false“。
audio.encodings 傳回指定支援的擷取音頻格式,每個格式會用一特定的語法指定,這些格式至少用一個空格來分隔,例如,”encoding=audio/wav“。
video.encodings 傳回指定支援擷取視頻格式的字串,每個格式會用一特定的語法指定,這些格式至少用一個空格來分隔,例如,”encoding=video/3gpp“。
video.snapshot.encodings VideoControlgetSnapshot方法支援的視頻快照格式,傳回指定支援擷取影像格式的字串,每個格式會用一特定的語法指定,這些格式至少用一個空格來分隔,例如,”encoding=png“。
streamable.contents 傳回可以串流的格式(例如,在整個內容被載入到記憶體前播放會開啟),假如可串流的格式不存在傳回”null“,目前沒有支援串流的格式。

無線通訊API(JSR-120, JSR-205)

字串 說明
wireless.messaging.sms.smsc SMS位址的表示使用下列BNF定義的msisdn項目來表示語法:
msisdn ::== "+" digits | digits
digit ::== "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |"8" | "9"
digits ::== digit | digit digits
wireless.messaging.mms.mmsc 傳回在設備上使用JSR-205的MMSC位址。

FileConnection API (JSR-75)

字串 說明
fileconn.dir.photos 這個指向整合式相機拍攝的照片或其他影像儲存的目錄,例如,”file:///c:/My files/Images/“。
fileconn.dir.videos 這跟前述的相同只是對應到視訊的部份,下載的視訊預設也存在這裡,例如,”file:///c:/My files/Video clips/“。
fileconn.dir.tones 鈴升級其他類似的音頻檔案存在這個目錄,例如,”file:///c:/My files/Tones/“。
fileconn.dir.memorycard 假如記憶體可使用的話它的根目錄,例如,”file:///d:/“。
fileconn.dir.private MIDlet套件的私人工作目錄,例如,”file:///c:/System/MIDlets/[1015f294]/scratch“。
fileconn.dir.photos.name 相片目錄的本地UI名稱,例如,”Images“。
fileconn.dir.videos.name 視訊目錄的本地UI名稱,例如,”Video clips“。
fileconn.dir.tones.name 聲音目錄的本地UI名稱,例如,”Sound clips“。
file.separator 檔案分隔字元,在Nokia設備:”/“。
fileconn.dir.memorycard.name 記憶卡目錄的本地UI名稱,例如,”Memory card“。

藍芽無線技術的Java™ API(JSR-82)

注意:Bluetooth API的LocalDevice.getProperty()方法應該用來擷取系統屬性,例如: LocalDevice.getProperty("bluetooth.connected.devices.max")

字串 說明
bluetooth.l2cap.receiveMTU.max 這指向整合式相機拍攝相片或其他影像儲存的目錄。
bluetooth.connected.devices.max 支援連結設備的最大數(包括停泊裝置),這個字串為十進制數字。
bluetooth.connected.inquiry 在連結時是否允許調查?有效值是”true“及”false“。
bluetooth.connected.page 在連結時是否允許傳呼?有效值是”true“及”false“。
bluetooth.connected.inquiry.scan 在連結時是否允許掃描?有效值是”true“及”false“。
bluetooth.connected.page.scan 在連結時甚否允許傳掃描?有效值是”true“及”false“。
bluetooth.master.switch 使否允許主/從開關?有效值是”true“及”false“。
bluetooth.sd.trans.max 並行服務發現交易的最大數,這個字串為十進制數字。
bluetooth.sd.attr.retrievable.max 每個服務紀錄擷取的最大服務屬性,這個字串為十進制數字。

可變動2D向量圖形API (JSR-226)

字串 說明
microedition.m2g.svg.version SVG的版本是由底層的實現所支援,例如,假如底層的SVG引擎符合W3C SVGT 1.1規格,傳回的字串為”1.1″,而SVGT 1.2則傳回”1.2″等等。
microedition.m2g.svg.baseProfile SVG的基底概貌是由底層的實現所支援,這是JSR-226 v1.0的”小”實現。

J2ME™的移動3D圖形API(JSR-184)

移動3D圖形API屬性可以使用Graphics3D.getProperties()方法來查詢,它會傳回屬性跟直的雜湊表,屬性”maxViewportWidth“及”maxViewportHeight“在M3G 1.1中加入,在M3G 1.0版這個MIDlet的這些屬性會傳回”null“,屬性”m3gRelease“沒有明定的規範,但它卻是特定執行的屬性。

範例值是來自S60 3rd版的設備,見JSR-184規格有更多關於3D圖形的資料,該規範可以在Forum Nokia – JSR-184找到。

字串 說明
supportAntialiasing 假如antialiasing有支援傳回”true“,否則傳回”false“,例如”false“。
supportTrueColor 假如真實色彩成現有支援傳回”true“,否則傳回”false“,例如,”false“。
supportDithering 假如混色有支援傳回”true“,否則傳回”false“,例如,”false“。
supportMipmapping 假如紋理映射假如有支援傳回”true”,否則傳回”false“,見JSR-184規範的Texture2D類別說明更多資訊,例如,”true“。
supportPerspectiveCorrection 假如透視校正有支援傳回”true“,否則傳回”false“,見JSR-184規範的PolygonMode類別說明有更多的資訊,例如,”true“。
supportLocalCameraLighting 假如local camera lightning有支援傳回”true”,否則傳回”false“,見JSR-184規範的PolygonMode類別說明有更多資訊,例如,”false“。
maxLights 傳回光源最大值,最小值是8,見JSR-184規範的Light類別的說明有更多資訊,例如,”8“。
maxViewportWidth 傳回視圖端口寬度的最大值,最小值需要256,見JSR-184規範的Graphics3D.setViewport()方法說明有更多資訊,例如,”null“。
maxViewportHeight 傳回視圖端口高度最大值,最小值需要256,見JSR-184規範的Graphics3D.setViewport()方法說明有更多資訊,例如,”null“。
maxViewportDimension 傳回{maxViewportWidth, maxViewportHeight}的最小值,最小值需要是256,例如,”1024“。
maxTextureDimension 傳回紋理圖像最大允許尺寸,這特定於每個執行,最小值需要是256,見JSR-184規範的Texture2D類別說明有更多資訊,例如,”256“。
m3gRelease 傳回JSR-184執行的釋出日期,例如,”04_wk49“。
maxSpriteCropDimension 傳回最大的裁切矩形尺寸,最小值需要是256,見JSR-184規範的Sprite3D類別說明有更多資訊,例如,”256“。
numTextureUnits 傳回設備支援的紋理單元數,最小值需要是1,見JSR-184規範的Appearance類別說明,例如,”2“。
maxTransformsPerVertex 傳回一個定義骨架數量限制的實做(骨架 = 在骨架群組中用來轉換的節點),這個實做在每一個頂點上有一個效應,最小值需要是2,見JSR-184規範的SkinnedMesh類別說明有更多資訊,例如,”4“。

Java™ 2 Platform, Micro Edition (JSR-177)的安全和信任服務API (SATSA)

字串 說明
microedition.smartcardslots 指示智慧卡插槽的名稱。傳回的值是用逗號分隔的智慧卡插槽的列表,這個列表可以用在Connector.open()字串來辨認指定的智慧卡插槽,一個典型的冷抽換SIM卡及可移動的熱插拔卡組態會是
0C,1H。
microedition.satsa.apdu.version 設備支援的SATSA-APDU API版本,例如,”1.0“。
microedition.satsa.crypto.version 設備支援的SATSA-CRYPTO API版本,例如,”1.0“。
microedition.satsa.pki.version 設備支援的SATSA-PKI API版本,例如,”1.0“。

J2ME™ (JSR-179)的Location API

字串 說明
fileconn.dir.landmarks 傳回儲存在檔案系統中的JSR-179地標的位置。
fileconn.dir.landmarks.name 傳回儲存地標的本地名稱。

高階多媒體補充API (JSR-234)

字串 說明
supports.mediacapabilities 傳回用一個空白分隔指定支援能力的字串(Unicode U+0020),至少會有一個可能的字串必須傳回,可能的值是:
music
audio3d
imageencoding
imagepostprocessing
camera
tuner
tuner.modulations 傳回新增的播放器指定支援的調諧器調製設定字串,傳回的調製設定用一個空白分隔(Unicode U+0020),假如沒有支援的調製,tuner.modulations傳回”null”,TunerControl指定下列的常數,但是支援的調製不 受限於這些:FM調頻音頻廣播的fm及AM音頻廣播的am
audio.samplerates 傳回用Hertz表示的指定音頻採樣率字串,用一個空白分隔(Unicode U+0020),也有其他可能支援的採樣率,但這些是建議,假如音頻輸出不支援,audio.samplerates傳回”null“。
audio3d.simultaneouslocations 傳回的字串指定SoundSource3D模組的最大數量,這個模組是在典型的網路遊戲狀況裡建議的應用程式在圖形顯示(2D或3D) 及回聲發生時同時啟用,SoundSource3D模組當它在PREFETCHED或STARTED狀態裡包含有一或一個以上的播放器時才會啟用,這個實 作不保證SoundSource3D的這個數值會在所有狀況下同時啟用;它對應用程式只是一個暗示,(它甚至有可能超過SoundSource3D這個數 值來同時啟用,但這也不能被保證),傳回的數值假定每個啟用的SoundSource3D都有一個播放器,並且這個播放器的內容型態是具有16kHz採樣 率及每個樣本16位元的單聲道線性WAV。
camera.orientations 傳回的字串指定設備的相機定位,這個字串含有每個設備的定位,並以一個空白來分隔(Unicode U+0020),定位的字串有格式化的設備名稱:沒有空白字元的定位,一個傳回的字串範例:”devcam0:outwards devcam1:inwards“,定位值可以是下面這樣:
inwards (當設備用自然的方式拿著時相機指向使用者),
outwards (當設備用自然的方式拿著時相機指向遠離使用者),
unknown (相機的指向是使用者自訂或是因為某些其他原因不能被知道),
假如沒有相機支援,camera.orientations傳回”null“,預設的相機(capture://video)會列在字串的第一個。
camera.resolutions 傳回的字串指定設備的相機傳感器尺寸,這個字串含有每個設備的傳感器尺寸,並以一個空白來分隔(Unicode U+0020),傳感器尺寸的字串有格式化的設備名稱:width x height沒有空白字元,
一個傳回字串的範例:”devcam0:1024x768 devcam1:640x480“,
假如沒有相機支援,camera.resolutions傳回”null“,預設的相機(capture://video)會列在字串第一個。

J2ME™ Web服務API (JSR-172)

字串 說明
xml.jaxp.subset.version 設備支援的JAXP Subset API版本,例如”1.0“。
xml.rpc.subset.version 設備支援的JAX-RPC Subset API版本,例如,”1.0“。

S60 3rd Edition, FP2系統屬性

字串 說明
com.nokia.mid.imei 設備的IMEI (國際移動設備識別碼),見IMEI in Wikipedia.
com.nokia.mid.imsi 儲存在SIM卡的IMSI (國際移動用戶識別碼),更多IMSI的資訊見IMSI in Wikipedia,注意存取此系統屬性受限於com.nokia.mid.mobinfo.IMSI的權限,預設這個權限只能製造商跟使用者域可以使用。
com.nokia.mid.networkid 網絡識別參數,像是network ID (CDMA的NID及GSM的MNC)以及網路簡稱,傳回的字串識別碼含有下列的格式:<network ID> (<network short name>)。
com.nokia.mid.networksignal 目前(GSM/CDMA)網路訊號強度,輸出的格式如下:<手機應該顯示的條狀數>( <訊號強度以dBm表示的>dBm)。
com.nokia.mid.networkavailability 網絡可用性,這個屬性傳回值包括”available”或”unavailable”。
com.nokia.mid.batterylevel 設備的電池充電水平,這個屬性值是用%表示的真實電池水平。
com.nokia.mid.countrycode 當前的網絡國家代碼。
com.nokia.mid.dateformat 使用者喜愛的設備日期格式字串,該字串根據Java 2, Standard Edition, version 1.4.1, java.text.SimpleDateFormat類別文件的格式化樣式。
com.nokia.mid.timeformat 使用者喜愛的設備時間格式字串,該字串根據定義在Java 2, Standard Edition, version 1.4.1, java.text.SimpleDateFormat類別文件的樣式。

其他

字串 說明
com.nokia.mid.dateformat 喜愛的日期格式字串樣式,其格式根據定義在Java™ 2 Platform, Standard Edition, version 1.4.1, java.text.SimpleDateFormat類別文件關於日期樣式的規則,只有SimpleDateFormat-定義過的樣式字元子集合可以 用在這個屬性裡。
com.nokia.mid.timeformat
(只在S40系列設備上)
喜愛的時間格式樣式字串,其格式根據定義在Java™ 2 Platform, Standard Edition, version 1.4.1, java.text.SimpleDateFormat類別文件關於時間樣式的規則,只有SimpleDateFormat-定義過的樣式字元子集合可以 用在這個屬性裡。
com.nokia.network.access
(只在S40系列的設備上)
傳回網路存取點型態,可能的值是:

  • pd — 數據封包,例如GPRS
  • csd — 電路交換數據,例如GSM CSD/HSCSD數據電話
  • bt_pan — 藍芽pan網絡
  • na — 不可用,這個時作不能決定型態
com.nokia.mid.imei
(只在S40 3rd Edition系列的設備上,不在Nokia 6270及Nokia 6111)
傳回設備的IMEI碼,注意:MIDlet必須被簽名為製造商或使用者域;否則該值為”null”。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *