如何根据当前剩余电池电量获得估计的通话时间、音乐/视频播放时间、空闲时间
Posted
技术标签:
【中文标题】如何根据当前剩余电池电量获得估计的通话时间、音乐/视频播放时间、空闲时间【英文标题】:How to get an estimated amount of talktime,music/video playback time, idletime that could be possibly done based on the current level of battery left 【发布时间】:2011-04-19 09:46:11 【问题描述】:我正在开发出色的 android 平台。我正在创建一个处理手机电池电量的应用程序。我正在显示手机的当前电池电量以及其他一些技术内容。我想获得估计的通话时间、音乐/视频播放时间、空闲时间可以根据手机上剩余的当前电池电量来完成。使用这个用户可以知道如果他的电池电量为 50%,那么他可能可以再进行 2 小时的通话(或)听 1 小时音乐(或)如果手机未被触摸,那么它将持续大约 4 小时。这样可以帮助用户。请帮助我提出一种方法(或)是否有任何可用的 API。?
【问题讨论】:
我有同样的问题,谢谢+1 【参考方案1】:不能肯定地说,但我非常怀疑是否会有任何 API 用于此。
我认为唯一可行的方法是让您收集数据并尝试尽可能接近估计。您可以尝试测量每个应用程序/使用情况消耗的电量,也可以尝试测量电池容量。您必须不时调整您的值,因为不是新电池有时会降低电压等,因此它是一个移动目标。
【讨论】:
【参考方案2】:我认为这是不可能的。
正如@dain 建议的那样,您可以整理和测量历史数据并据此进行猜测,但是作为各种后台进程(连接强度低意味着大量搜索、wifi 与否、后台数据、新应用程序、您说出它的名字)对此有影响,因此根据收集的数据很难准确。
您也许可以针对特定进程(例如呼叫或使用音乐播放器等特定应用),检查它们平均使用多少电量,然后从那里开始。
您使用什么解决方案,我认为由于所有数据的差异,您会从中得到某种平均值,这对于当前情况可能不正确。您可能会在每次活动的“最短”时间与“最长”时间之间逍遥法外?
【讨论】:
【参考方案3】:最终意图意图 = new Intent(Intent.ACTION_MAIN, null); 意图.addCategory(意图.CATEGORY_LAUNCHER); final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.fuelgauge.PowerUsageSummary"); intent.setComponent(cn); 意图.setFlags(意图.FLAG_ACTIVITY_NEW_TASK); 开始活动(意图);
这对我有用
【讨论】:
以上是关于如何根据当前剩余电池电量获得估计的通话时间、音乐/视频播放时间、空闲时间的主要内容,如果未能解决你的问题,请参考以下文章