我正在研究Android中的能源。当我需要通过Android系统的百分比来了解当前的收费状态时,我运行以下函数:
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);
return ((float)level / (float)scale) * 100.0f;
}
但我不知道Android是如何知道电池当前的充电状态并得出结果的?我研究并了解了一些电池测量方法,例如:
Android是否使用上述任何方法?还是别的方法?
发布于 2015-12-14 18:23:37
我知道操作系统获取电池(和其他电源)信息的三种主要方式。
访问这些信息的另一种方法是直接从硬件本身访问。可以猜到,这是非常依赖于平台的。它因体系结构而异,甚至包括同一体系结构的不同版本。
关于高级PAPI的另一个注意事项,如PAPI、ACPI表和/proc。即使信息在那里,他们也可以或不可能查询硬件。这都取决于内核和API开发人员是如何实现的。
https://stackoverflow.com/questions/34253262
复制相似问题