2012-01-18 95 views
2

我想知道是否有任何檢查我是否正在模擬器或真實手機中運行應用程序?我想在netbeans/emulador中測試時更改某些配置,以及當真正的手機更改爲其他配置(如服務器地址)時。有沒有Java我的功能來檢查它?如何知道我是在模擬器還是真正的手機上運行

+0

你必須寫下您的解決方案,並接受它幫助未來的看法的問題。這很重要接受一個答案 – frayab 2012-01-26 12:49:31

回答

3

你必須使用這段代碼。

String platform = System.getProperty("microedition.platform"); 
platform = platform.toUpperCase(); 
if ((platform.indexOf("J2ME") != -1) || (platform.equalsIgnoreCase("SunMicrosystems_wtk"))) { 
//EMULATOR 
}else { 
//Device 
} 

如果你使用的是其他仿真器,你可以嘗試做的System.out.println(平臺),看看打印時喲正在使用模擬器

+0

這樣做的功能,我怕一些沒有品牌的手機也返回j2me。我正在考慮使用System.getProperty(「microedition.profiles」),它返回我「MIDP-2.1 JAVAFX-1.1」 – dextervip 2012-01-18 11:07:17

+0

真的使用這個: if(platform.indexOf(「NOKIA」)!= -1){ //諾基亞; } else if(platform.indexOf(「SAMSUNG」)!= -1){// SAMSUNG; } else if(platform.indexOf(「SONYERICSSON」)!= -1){// SONY_ERICSSON; } else if(platform.indexOf(「LG」)!= -1){// LG; } else if((platform.indexOf(「BLACKBERRY」)!= -1)||(platform.indexOf(「RIM」)!= -1)){return BLACKBERRY; } else if((platform.indexOf(「J2ME」)!= -1)||(platform.equalsIgnoreCase(「SunMicrosystems_wtk」))){// EMULATOR; } – frayab 2012-01-18 11:27:15

+0

與您在此設備之前過濾 – frayab 2012-01-18 11:27:31

1

您可以在JAD添加屬性,只是改變屬性,當你建立真正的設備

例如:

device-name: emulator 

,你可以使用的MIDlet閱讀

getAppProperty("device-name"); 
+1

我認爲這不是一個真正的解決方案,你手動改變這個,他想要一個代碼 – frayab 2012-01-18 10:21:29

相關問題