Android 从电池视图中获取电池时间

Posted

技术标签:

【中文标题】Android 从电池视图中获取电池时间【英文标题】:Android get battey time from battery view 【发布时间】:2013-02-26 11:54:06 【问题描述】:

在这里我可以看到手机使用电池可以工作多长时间?我能以某种方式在我的应用程序中获取这些信息吗?

Here is code for getting battery health temperature,但我不需要这个。我只需要时间,如下图所示:

【问题讨论】:

我们怎样才能得到这个?时间取决于您的使用方式..所以我们无法准确找到它.. 但是这里是怎么计算的呢?是不是无法读取这个变量? Get the remaining battery time available from an android phone的可能重复 @senzacionale 你解决了你的问题吗? 【参考方案1】:

我认为您无法直接从电池信息中获取此值。但是,您可以这样做。

    剩余读取百分比(例如 x%)和当前时间戳 为电池电量变化注册广播接收器 - 并在 onReceive 中读取新的百分比(例如 y%,通常是 x - 1,但也可能是 x - 2 或其他)并再次获取时间戳 获取两个时间戳和两个百分比 (x - y) 之间的差异 - 这将显示 (x - y)% 的电池持续多长时间。现在只需将其推断为 y% - 你就有答案了

您可以使用您链接的问题中的代码来确定百分比。

例如,您在时间戳 1361882535654 处获得了 80% 的电量。那么当您获得 79% 时,您的时间戳为 1361882801234。这意味着 1% 的电量可以持续大约 265 秒,因此电池的剩余时间约为 79 * 265 = 209305 秒,即 2 天 10 小时 8 分 25 秒。

是的,这自然需要一些时间(即,您必须等待 200 秒或任何几秒才能使电池电量下降)。您的系统应用程序可以立即显示它的原因是因为系统进程在后台连续运行,并且很可能在运行过程中这样做。

【讨论】:

【参考方案2】:

我猜你可以使用 BatterStatusImpl 和一个名为 IBatteryStatsIInterface 这些是来自 android git 的私有 api 分支

【讨论】:

【参考方案3】:

看看Intent.ACTION_POWER_USAGE_SUMMARY

【讨论】:

以上是关于Android 从电池视图中获取电池时间的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行时获取 Android 中的电池统计信息?

如何在android中获取电池电量变化(仅当有电量/百分比变化时)?

Android:如何在状态栏中获取电池图标资源 ID 或完整文件路径/名称?

Android:每个应用程序的电池使用情况

哪些东西会减少(Android)电池使用时间?

Android——个性化Progress电池显示视图