如何获取已安装应用的电池使用情况?

Edg*_*bhu 16 android battery usage-statistics installed-applications

使用此代码,我可以找到手机的电池电量:

int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float percent = (level / (float)scale) * 100;
Run Code Online (Sandbox Code Playgroud)

但是,如何获取手机上安装的应用程序的电池使用情况,包括屏幕上的应用程序,如下图所示?

电池使用详情屏幕截图

Ari*_*Roy 7

很抱歉让您失望,但Android的电源使用API​​不公开.所以没有正式的方法可以得到你想要的东西.

但是您可以使用反射来访问某些私有成员和方法并使用它们.你也可以看看这个.从这里,您可以获得个人应用功耗的一些定量值.

您可以使用该值来计算所有应用的百分比.


Bog*_*yak 1

对于 API >= 19,可以像这样从设备中转储电池统计信息:

adb shell dumpsys batterystats
Run Code Online (Sandbox Code Playgroud)

对于 API < 19,请使用:

adb shell dumpsys batteryinfo
Run Code Online (Sandbox Code Playgroud)