黑莓确定是否使用外部电源

时间:2011-11-21 15:32:55

标签: java blackberry external

有没有办法确定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上使用related issue编译的,但它没有达到预期的结果。

2 个答案:

答案 0 :(得分:1)

这是我过去使用过的:

    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;       
    }

希望它有所帮助。

答案 1 :(得分:0)

您确定要使用xor运算符吗?你可能想要使用二进制代替。

这样的事可能吗?

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