【问题标题】:Android - Determine The Amount of Battery Life RemainingAndroid - 确定剩余电池寿命
【发布时间】:2013-08-02 01:24:26
【问题描述】:

有没有一种方法可以准确地确定电池的剩余电池寿命(以小时/分钟为单位)?

我知道我可以注册一个 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;

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

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

【问题讨论】:

    标签: android batterylevel


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 这是一个很好的建议。谢谢!
    猜你喜欢
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多