0

有没有办法以小时/分钟为单位准确确定电池剩余的电池寿命?

我知道我可以注册一个 Intent 接收器来接收广播ACTION_BATTERY_CHANGED并获取级别和比例,并使用它们来获取百分比,如下所示:

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

float batteryPct = level / (float)scale;

我的猜测是它需要很多不同的变量(电池类型、处理器、运行的应用程序数量、显示亮度等),但我只是想确保我没有忽略任何东西。

有没有人知道是否可以获得有关从哪里/如何开始的详细信息或建议?

4

1 回答 1

2

就个人而言,我认为考虑电池的类型、处理器和运行的应用程序数量是多余的。无论品牌如何,所有物理硬件都将具有不同的性能(尤其是电池)。此外,不同的连接和流程将根据其质量消耗或多或少的电池。

无法确定用户将启动哪种应用程序以及它们将运行多长时间(即,您的用户可能通过 wifi 观看 10 分钟的 youtube,或尝试观看 90 分钟的信号强度数据变化联系)。

如果我这样做,我会每隔几分钟测量一次电池寿命的消耗率,并使用一些多项式数学来估计趋势。

维基百科不是学习数学的最佳场所,但如果想了解有关趋势线如何工作的信息,请从这里开始: http ://en.wikipedia.org/wiki/Linear_regression#Trend_line

这只是我对你的情况的想法......希望它有所帮助。

于 2013-08-02T01:37:10.640 回答