1

我写了一个应用程序,我想知道它消耗了多少电池。

我正在智能手机(ACER Liquid Mt)上对其进行测试,但我只能通过电池管理器以 1% 的精度读取电池电量。

需要多次运行才能使百分比降低 1%。所以我的问题是:是否有可能获得更准确的电池电量,电池电量是否可信?

我读到一些东西,软件中的电池电量不会很准确。

4

1 回答 1

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);
于 2012-05-13T09:12:40.573 回答