Android 解码电池值
在电池广播接收器中,我有以下3行代码:Android 解码电池值,android,Android,在电池广播接收器中,我有以下3行代码: int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0); int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0); 以上三个的值分别为2、2和4 我如何解码这些值并向用户展示一
int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0);
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
以上三个的值分别为2、2和4
我如何解码这些值并向用户展示一些有意义的东西,比如健康,我不能告诉计算机电池的健康状况是好是坏还是需要更换
提前感谢使用此电池
switch (health) {
case BatteryManager.BATTERY_HEALTH_DEAD:
break;
case BatteryManager.BATTERY_HEALTH_GOOD:
break;
case BatteryManager.BATTERY_HEALTH_COLD:
break;
case BatteryManager.BATTERY_HEALTH_OVERHEAT:
break;
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
break;
default:
break;
}
用于插拔
switch (plugged ) {
case BatteryManager.BATTERY_PLUGGED_AC:
break;
case BatteryManager.BATTERY_PLUGGED_USB:
break;
case BatteryManager.BATTERY_PLUGGED_WIRELESS:
default:
break;
}
电压用
switch (voltage) {
case BatteryManager.BATTERY_STATUS_CHARGING:
break;
case BatteryManager.BATTERY_STATUS_DISCHARGING:
break;
case BatteryManager.BATTERY_STATUS_FULL:
break;
case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
break;
case BatteryManager.BATTERY_STATUS_UNKNOWN:
break;
default:
break;
}
用这个做电池
switch (health) {
case BatteryManager.BATTERY_HEALTH_DEAD:
break;
case BatteryManager.BATTERY_HEALTH_GOOD:
break;
case BatteryManager.BATTERY_HEALTH_COLD:
break;
case BatteryManager.BATTERY_HEALTH_OVERHEAT:
break;
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
break;
default:
break;
}
用于插拔
switch (plugged ) {
case BatteryManager.BATTERY_PLUGGED_AC:
break;
case BatteryManager.BATTERY_PLUGGED_USB:
break;
case BatteryManager.BATTERY_PLUGGED_WIRELESS:
default:
break;
}
电压用
switch (voltage) {
case BatteryManager.BATTERY_STATUS_CHARGING:
break;
case BatteryManager.BATTERY_STATUS_DISCHARGING:
break;
case BatteryManager.BATTERY_STATUS_FULL:
break;
case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
break;
case BatteryManager.BATTERY_STATUS_UNKNOWN:
break;
default:
break;
}
在onCreate方法下使用
@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);
}
如果电量=20/100,则表示电池剩余电量为20%
温度是320,然后温度是32摄氏度。
如果电压为4000,则在onCreate方法下使用的电压为4.000伏
@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);
}
如果电量=20/100,则表示电池剩余电量为20%
温度是320,然后温度是32摄氏度。
如果电压为4000,则电压为4.000伏读取并创建逻辑读取并创建逻辑