2012-05-10 222 views
1

我写了一个应用程序,我想知道它消耗了多少电量。android准确的电池电量变化?

我在智能手机上测试它(ACER Liquid Mt),但我只能通过电池管理器以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);