Blackberry - версия платформы и версия программного обеспечения - PullRequest
2 голосов
/ 01 ноября 2010

Я использую модель 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);
}

Ответы [ 2 ]

4 голосов
/ 02 ноября 2010

вы можете использовать этот метод, чтобы получить версию почти каждого устройства с черными ягодами:

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 голос
/ 01 ноября 2010

Какая версия ОС работает на симуляторе 8707?И какой уровень ОС вы компилируете?В javadocs DeviceInfo вы можете видеть, что метод DeviceInfo.getPlatformVersion() доступен в OS 4.0.0 и выше, тогда как метод DeviceInfo.getSoftwareVersion() доступен в OS 4.3.0 и выше.Так что, если вы компилируете с JDE 4.3, но пытаетесь запустить его на имитаторе устройства с версией ОС ниже 4.3, у вас возникнут проблемы.Обходной путь для устройств до 4.3 - использовать следующий код:

int mh = CodeModuleManager.getModuleHandle("net_rim_bb_phone_api");
String version = CodeModuleManager.getModuleVersion(mh);
...