我写了一个应用程序,我想知道它消耗了多少电池。
我正在智能手机上测试它(ACER Liquid Mt),但我只能通过电池管理器以1%的精度读取电池电量。
需要大量的运行才能使百分比降低1%。所以我的问题是:是否有可能获得更准确的电池电量并且电池电量是否可信?
我读到了一些软件中的电池电量不准确的事情。
答案 0 :(得分:1)
需要大量的运行才能使百分比降低1%并不意味着它不准确,可能是电池非常耐用。而且因为它是百分比,1%的电池电量可能是很多能量。
为了获得电池电量,我使用BroadcastReceiver,您可以尝试一下,看看它是否足够准确:
class BatteryLifeBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
int level = intent.getIntExtra("level", 0);
int scale = intent.getIntExtra("scale", 100);
int batteryLevel = (float) level / scale;
// use batteryLevel...
}
}
}
// register the receiver in Activity.onResume()
registerReceiver(mBatteryLifeBroadcastReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
// unregister it in Activity.onPause()
unregisterReceiver(mBatteryLifeBroadcastReceiver);