這一篇是我在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:
|
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 | 在VideoControl裡getSnapshot方法支援的視頻快照格式,傳回指定支援擷取影像格式的字串,每個格式會用一特定的語法指定,這些格式至少用一個空格來分隔,例如,”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系列的設備上) |
傳回網路存取點型態,可能的值是:
|
com.nokia.mid.imei (只在S40 3rd Edition系列的設備上,不在Nokia 6270及Nokia 6111) |
傳回設備的IMEI碼,注意:MIDlet必須被簽名為製造商或使用者域;否則該值為”null”。 |