我使用的是BlackBerry型号8707,我正在尝试使用DeviceInfo.getPlatformVersion()和DeviceInfo.getSoftwareVersion()。但是,结果没有显示在8707模拟器上,但它在9550模拟器上工作得非常好。
如何使其与8707一起使用?
public RetrieveData() {
display = Display.getDisplay(this);
String imei = IDENInfo.imeiToString(IDENInfo.getIMEI());
info01 = new TextField("IMEI:", imei, 30, TextField.ANY);
String imsi = new String();
try {
imsi=GPRSInfo.imeiToString(SIMCardInfo.getIMSI(), false);
} catch (SIMCardException ioe) {}
info02 = new TextField("IMSI:", imsi, 30, TextField.ANY);
String majorOS = DeviceInfo.getPlatformVersion();
info03 = new TextField("majorOS:", majorOS, 30, TextField.ANY);
String content = DeviceInfo.getSoftwareVersion();
info04 = new TextField("Software version", content, 30, TextField.ANY);
}
答案 0 :(得分:4)
您可以使用此方法获取几乎所有黑莓装置的版本:
public static String getJDEVersion() {
//USING THE APPLICATION MANAGER
//(RUNNING APPS)
//get the ApplicationManager
ApplicationManager appMan = ApplicationManager.getApplicationManager();
//grab the running applications
ApplicationDescriptor[] appDes = appMan.getVisibleApplications();
//check for the version of a standard
//RIM app. I like to use the ribbon app but you can check the version of
//any RIM module as they will all be the same.
int size = appDes.length;
for (int i = size-1; i>=0; --i){
if ((appDes[i].getModuleName()).equals("net_rim_bb_ribbon_app") ){
return appDes[i].getVersion();
}
}
return null;
}
答案 1 :(得分:1)
8707模拟器在运行什么操作系统版本?您编写的操作系统级别是多少?从DeviceInfo javadocs中,您可以看到{4.0}及更高版本中的DeviceInfo.getPlatformVersion()
方法可用,而OS 4.3.0及更高版本中提供了DeviceInfo.getSoftwareVersion()
方法。因此,如果您正在使用JDE 4.3进行编译,但尝试在操作系统版本低于4.3的设备模拟器上运行它,那么您将遇到问题。
编辑:4.3之前设备的解决方法是使用以下代码:
int mh = CodeModuleManager.getModuleHandle("net_rim_bb_phone_api");
String version = CodeModuleManager.getModuleVersion(mh);