Android电池信息(Battery information)
BatteryManager
java.lang.Object
android.os.BatteryManager
- 中文:BatteryManager类包含了字符串和常量用于行动电池中的值改变的意图
http://www.apihome.cn/api/android/BatteryManager.html
下面看一个例子
首先用到了两个重要的知识点
其一:Intent.ACTION_BATTERY_CHANGED,它包含了很多关于电池的信息
“status”(int类型)…状态,定义值是BatteryManager.BATTERY_STATUS_XXX。
“health”(int类型)…健康,定义值是BatteryManager.BATTERY_HEALTH_XXX。
“present”(boolean类型)
“level”(int类型)…电池剩余容量
“scale”(int类型)…电池最大值。通常为100。
“icon-small”(int类型)…图标ID。
“plugged”(int类型)…连接的电源插座,定义值是BatteryManager.BATTERY_PLUGGED_XXX
“voltage”(int类型)…mV。
“temperature”(int类型)…温度,0.1度单位。例如 表示197的时候,意思为19.7度。
“technology”(String类型)…电池类型,例如,Li-ion等等。其二:BroadcastReceiver类
它是一种全局的监听器,用户监听系统全局的广播消息。它可以非常方便的实现系统中不同组件之间的通讯。需要了解的:http://blog.csdn.net/bobo8945510/article/details/52451072
首先注册一个广播类,代码如下:
public class BatteryReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int currLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); //当前电量 int total = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1); //总电量 int technology= intent.getIntExtra(BatteryManager.EXTRA_TECHNOLOGY, 2); //...还可以获得很多信息 //剩余电量 int percent = currLevel * 100 / total; Toast.makeText(context,"总电量: " + total + "%" +"电池型号:"+technology+"currLevel电量: " + currLevel,Toast.LENGTH_SHORT).show(); }}
MainActivity中的传递
but = (Button)findViewById(R.id.but); but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //要特别的注意这一句代码。注册一个电池信息服务 Intent batteryIntent = getApplicationContext().registerReceiver(new BatteryReceiver(),new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); /*也可以在这里获取,通过batteryIntent .*** *例如:”batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);//当前电量 */ } });
最重要的一步千万不要忘记,注册广播信息
<receiver android:name=".BatteryReceiver"> <intent-filter> <action android:name="com.example.com.BATTERY_CHANGED"/> <category android:name="android.intent.category.DEFAULT" /> intent-filter> receiver>
效果
下载dome地址:http://download.csdn.net/detail/bobo8945510/9626988
更多相关文章
- 安卓4.X系统 增加蓝牙接收文件类型
- JS判断终端类型的几种方法
- Android(安卓)泛型使用
- Android(安卓)设置默认桌面,默认应用,辅助功能,电池优化,设备管
- Android中Drawable分类汇总
- Android电池电量检测
- Android(安卓)ContentProvider实例详解
- 还在为android图标适配烦恼?字体图标你值得拥有
- Android支持的资源