Blackberry - systemLock () не работает - PullRequest
0 голосов
/ 05 сентября 2011

Я пытаюсь использовать systemLock () для блокировки устройства, когда getSpeed ​​() возвращает значение больше 20 м / с.

public void locationUpdated(LocationProvider provider, Location location)
        {
            if(location.isValid())
            {
                float speed = location.getSpeed();

                 // Information to be displayed on the device
                StringBuffer sb = new StringBuffer();
                sb.append("\n");
                sb.append("Speed : ");
                sb.append(speed);
                sb.append(" m/s");

                if(speed < 20){
                    appMan = ApplicationManager.getApplicationManager();
                    appMan.lockSystem(true);
                }else{

                }
                MyApp.this.updateLocationScreen(sb.toString());
            }

        }

У меня есть RichTextField, и я могу успешно использовать .settext () в операторе if / else, чтобы изменить текст RichTextField, поэтому я должен использовать lockSystem () неправильно.

Редактировать

if(speed > 20 || Double.isNaN(speed)){
                    requestForeground();
                    appMan = ApplicationManager.getApplicationManager();
                    appMan.lockSystem(true);
                }else{

                }

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

Первое, что бросается в глаза:

, чтобы заблокировать устройство, когда getSpeed ​​() возвращает значение больше 20 м / с.

и

if (speed < 20) {
    appMan = ApplicationManager.getApplicationManager();
     appMan.lockSystem(true);
}
1 голос
/ 05 сентября 2011

Из документов Местоположение

public float getSpeed ​​()
Возвращает:
текущую скорость относительно земли в м / с для терминала или Float.NaN, если скорость неизвестна

В Java любое сравнение с Float.NaN вернет false, поэтому ваш блок кода экрана блокировки не будет выполнен, если ваше устройство возвращает NaN в качестве скорости.Возможно, вы захотите добавить Double.isNaN(speed) к вашему состоянию.

...