我正在寻找一个用于估算/猜测Android手机电池完全放电之前剩余时间的代码。我的搜索结果中充满了可用的应用程序以及常见的评论,计算它几乎没用。但是我需要代码。任何帮助,甚至是粗略的片段,都可以用来开始。
答案 0 :(得分:1)
您无法准确猜测电池放电剩余的时间,因为可能有不同的应用或服务消耗电池。因此可能会有所不同。
然而,您可以通过注册接收器进行操作Intent.ACTION_BATTERY_CHANGED,在广播接收器的帮助下获得电池寿命。我的回答是关键,从Android开发者网站获取信息。
通过在具有上述Intent操作的BroadcastReceiver的onReceive()方法中使用以下语句,您将获得当前可用的电池电量(例如,50%,60%等)。但你无法估计剩余的时间,因为一些应用程序可能消耗更多的电量。所以我认为电池水平到剩余时间的转换不会给出正确的结果。
battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
我希望它可以帮助你。
答案 1 :(得分:0)
@Override
public void onCreate() {
BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
int scale = -1;
int level = -1;
int voltage = -1;
int temp = -1;
@Override
public void onReceive(Context context, Intent intent) {
level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
}
};
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryReceiver, filter);
}
答案 2 :(得分:0)
几乎每个人都不可能计算出确切的时间。 第一个问题:到目前为止,我们还不知道电池的型号及其经过的循环,这才是电池的健康状况。 哪个应用消耗的电量或多或少是我们所不知道的。 因此您需要运行该应用程序至少10天才能获取所有这些数据,并且需要定期修改数据,然后才能正确估算。 所以它是一个高级应用。