Ежевика определить, если использовать внешнее питание - PullRequest
0 голосов
/ 21 ноября 2011

Есть ли способ определить, подключен ли кабель к Blackberry или нет?(питание / USB)

До сих пор я пробовал несколько вещей ...

if(DeviceInfo.BSTAT_IS_USING_EXTERNAL_POWER > 0)
{
// Plugged in
// TODO : Do something
}else{
// Not plugged in
// TODO: Do something else
}

Остальное, по-видимому, мертвый код, и это вообще не работает.

Однако мне повезло со следующим:

if((DeviceInfo.getBatteryStatus() ^ DeviceInfo.BSTAT_IS_USING_EXTERNAL_POWER) != 0)
{
    // Plugged in
    // TODO : Do something
}else{
    // Plugged in
    // TODO : Do something else
}

К сожалению, он эффективен только в том случае, если батарея заряжена на 100%.Как только он падает ниже, он имеет противоположный эффект.

Последний был скомпилирован с использованием связанной проблемы для SO, однако он не дает желаемых результатов, как предлагается там.

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Это то, что я использовал в прошлом:

    private boolean isBatteryCharging(){
        int battst = DeviceInfo.getBatteryStatus();
        if(((battst & DeviceInfo.BSTAT_IS_USING_EXTERNAL_POWER) != 0) 
            || ((battst & DeviceInfo.BSTAT_CHARGING) != 0) 
            || ((battst & DeviceInfo.BSTAT_AC_CONTACTS) != 0)){
            return true;
        }
        return false;       
    }

Надеюсь, это поможет.

0 голосов
/ 21 ноября 2011

Вы уверены, что должны использовать оператор xor?Вы, вероятно, хотите использовать двоичный файл и вместо этого.

Что-то подобное может быть?

...