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”。