电池百分比代码在充电时返回o

时间:2014-08-07 12:29:51

标签: android battery

我使用以下代码来获取应用中的电池百分比。此代码返回未连接充电时的电池百分比。 但是在充电时它返回零

如何在充电时使此代码正常工作?

public int getBatteryPercentage()
{
    BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver(){
        public void onReceive(Context context, Intent intent) 
        {
            context.unregisterReceiver(this);
            int currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
            level = -1;
            if (currentLevel >= 0 && scale > 0) {
                level = (currentLevel * 100) / scale;
            }
        }
    };  
    IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batteryLevelReceiver, batteryLevelFilter);
    return level;
}

1 个答案:

答案 0 :(得分:1)

这正在使用它的工作正常我

 int level = 0;
 level_new = i.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
    scale = i.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

    if (level_new >= 0 && scale > 0) {
        level = (level_new * 100) / scale;
    } else {
        level = 0;
    }