Получите заряд батареи за один сетевой вызов

Я хочу проверить, сколько батареи расходуется на конкретный сетевой вызов в моем приложении. Возможно ли это сделать на самом деле? Если да, то как это сделать?

1 ответ

Вы можете получить информацию об аккумуляторе следующим способом:

public float getBatteryLevel() {
    Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

    // Error checking that probably isn't needed but I added just in case.
    if(level == -1 || scale == -1) {
        return 50.0f;
    }

    return ((float)level / (float)scale) * 100.0f;  }

Таким образом, вы можете вызвать этот метод до и после сетевого вызова. И найди разницу.

Другие вопросы по тегам