Android电池状态监听实例1(下)

本文详细解读了BatteryInfo.java文件的结构和使用方法,包括健康状态、图标ID、充电状态、技术类型等关键属性的获取与展示,提供了一个全面的电池信息查看解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件4:BatteryInfo.java
package com.teleca.robin;
import android.content.Intent;
import android.os.BatteryManager;
public classBatteryInfo{
int health;
int batteryIconId;
int plugged;
boolean batteryPresent;
int status;
String technology;
int temperature;
int voltage;
int level;
int scale;
publicBatteryInfo( Intent intent )
{
String action = intent.getAction();
if (!Intent. ACTION_BATTERY_CHANGED .equals(action))
return;
health=intent.getIntExtra( BatteryManager.EXTRA_HEALTH ,BatteryManager.BATTERY_HEALTH_UNKNOWN);
batteryIconId=intent.getIntExtra( BatteryManager.EXTRA_ICON_SMALL ,-1);
plugged=intent.getIntExtra( BatteryManager.EXTRA_PLUGGED , -1);
batteryPresent=intent.getBooleanExtra( BatteryManager.EXTRA_PRESENT , false);
status=intent.getIntExtra( BatteryManager.EXTRA_STATUS , BatteryManager.BATTERY_STATUS_UNKNOWN);
technology=intent.getStringExtra( BatteryManager.EXTRA_TECHNOLOGY );
temperature=intent.getIntExtra( BatteryManager.EXTRA_TEMPERATURE , -1);
voltage=intent.getIntExtra( BatteryManager.EXTRA_VOLTAGE , -1);
level = intent.getIntExtra( BatteryManager.EXTRA_LEVEL , 0);
scale = intent.getIntExtra( BatteryManager.EXTRA_SCALE , 100);
}
public String toString()
{
StringBuffer strBuffer=new StringBuffer(50);
strBuffer.append("information for battery\n");
strBuffer.append("health :");
switch( health )
{
case BatteryManager.BATTERY_HEALTH_DEAD :
strBuffer.append("BATTERY_HEALTH_DEAD");
break;
case BatteryManager.BATTERY_HEALTH_GOOD :
strBuffer.append("BATTERY_HEALTH_GOOD");
break;
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE :
strBuffer.append("BATTERY_HEALTH_OVER_VOLTAGE");
break;
case BatteryManager.BATTERY_HEALTH_UNKNOWN :
strBuffer.append("BATTERY_HEALTH_UNKNOWN");
break;
case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE :
strBuffer.append("BATTERY_HEALTH_UNSPECIFIED_FAILURE");
break;
default:
strBuffer.append("BATTERY_HEALTH_UNKNOWN");
break;
}
strBuffer.append("\n");
strBuffer.append("iconId:"+ batteryIconId );
strBuffer.append("\n");
strBuffer.append("Power source:");
switch( plugged )
{
case 0 :
strBuffer.append(" batter ");
break;
case BatteryManager.BATTERY_PLUGGED_AC :
strBuffer.append("AC charger");
break;
case BatteryManager.BATTERY_PLUGGED_USB :
strBuffer.append("USB charger");
break;
default:
strBuffer.append("unkonow charger");
break;
}
strBuffer.append("\n");
strBuffer.append("present:"+ batteryPresent );
strBuffer.append("\n");
strBuffer.append("status: ");
switch( status )
{
case BatteryManager.BATTERY_STATUS_CHARGING :
strBuffer.append("charging");
break;
case BatteryManager.BATTERY_STATUS_DISCHARGING :
strBuffer.append("discharging");
break;
case BatteryManager.BATTERY_STATUS_FULL :
strBuffer.append("full");
break;
case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
strBuffer.append("not charing");
break;
}
strBuffer.append("\n");
strBuffer.append(" technology :"+ technology );
strBuffer.append("\n");
strBuffer.append(" 温度: "+ temperature +"\n");
strBuffer.append(" 电压: "+ voltage +"\n");
strBuffer.append(" 剩余电量: " + String.valueOf( level * 100 / scale )
+ "%");
return strBuffer.toString();
}

}
注意:更多内容请参考《 Android电池状态的监听
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值