Kis*_*ela 10 usb android battery sysfs batterymanager
如何在Android设备中检测电池充电速度?我可以使用以下代码检测电池状态.但不是充电速度.
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
BatteryChangeReceiver receiver = new BatteryChangeReceiver(subscriber);
registerReceiver(receiver, filter);
public class BatteryChangeReceiver extends BroadcastReceiver {
@Override public void onReceive(Context context, Intent intent) {
// here I get all battery status.
}
}
Run Code Online (Sandbox Code Playgroud)
有一个应用程序(安培)显示充电速度.
我怎样才能做到这一点?
提前致谢.
使用BatteryManager。它提供属性BATTERY_PROPERTY_CURRENT_AVERAGE,它为您提供以微安为单位的平均电池电流。不幸的是,收集此信息的时间段可能因设备而异。负值表示正在放电,正值表示手机正在充电。
或者,您可以使用BATTERY_PROPERTY_CURRENT_NOW(看起来Ampere正在使用这种方法)。它返回瞬时电池电流。它可能不准确,因此多次调用此属性并计算平均值似乎是个好主意。
示例代码:
BatteryManager batteryManager = (BatteryManager) Context.getSystemService(Context.BATTERY_SERVICE);
int averageCurrent = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6857 次 |
最近记录: |