簡單測試環境 Demo 代碼
完整代碼片段展示如何用 System.getProperty() 讀取系統屬性(配置、Profile、平台、語系、編碼、通訊埠、主機名、智慧卡槽、Nokia 專屬屬性等),以及用 Class.forName() 檢測類是否存在(如廠商擴展 API、JSR 相關類)。輸出至 Form 顯示。
private void getSysInfo() {
addInfo("Microedition Configuration: ", getInfo(System.getProperty("microedition.configuration")));
// ... 省略大量屬性讀取 ...
addInfo("Total memory:", Long.toString(Runtime.getRuntime().totalMemory()) + " bytes");
addInfo("Free memory:", Long.toString(Runtime.getRuntime().freeMemory()) + " bytes");
// 時區列表
String[] timeZoneIDs = java.util.TimeZone.getAvailableIDs();
// 廠商擴展類檢測
addInfo("com.siemens.mp.lcdui.Image", hasClassExit("com.siemens.mp.lcdui.Image") + "");
// ...
}
private boolean hasClassExit(String aClassName) {
try { Class.forName(aClassName); return true; } catch (Exception e) { return false; }
}
public String getInfo(String info) { return (info==null)?"":info; }
public void addInfo(String name, String value) { iForm.append(new StringItem(name, value)); }
附表:關鍵 JSR 系統屬性對照表
表1 MMAPI 屬性 (JSR 135)
| 屬性名稱 | 作用 |
| supports.mixing | 是否支援混音 |
| supports.audio.capture | 是否支援錄音 |
| supports.video.capture | 是否支援錄影 |
| supports.recording | 是否支援記錄 |
| audio.encodings | 支援音訊格式 |
| video.encodings | 支援視訊格式 |
| video.snapshot.encodings | 快照格式 |
| streamable.contents | 流媒體格式 |
表2 Wireless Messaging API 屬性 (JSR 205)
| 屬性名稱 | 作用 |
| wireless.messaging.sms.smsc | 簡訊中心號碼 |
表3 FileConnection API 屬性 (JSR 75)
| 屬性名稱 | 作用 |
| fileconn.dir.photos | 相片目錄 |
| fileconn.dir.videos | 視頻目錄 |
| fileconn.dir.tones | 鈴聲目錄 |
| fileconn.dir.memorycard | 記憶卡根目錄 |
| fileconn.dir.private | MIDlet 私有目錄 (S40 不支援) |
| file.separator | 檔案分隔符 |
第二段代碼片段進一步示範檢測 MMAPI、WMAPI 1.1/2.0、Bluetooth、M3G、PIM、FileConnection、Location、WebServices、SIP、Nokia UI、Siemens 擴展等 JSR 支援情況。