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

更多相关文章

  1. 安卓4.X系统 增加蓝牙接收文件类型
  2. JS判断终端类型的几种方法
  3. Android(安卓)泛型使用
  4. Android(安卓)设置默认桌面,默认应用,辅助功能,电池优化,设备管
  5. Android中Drawable分类汇总
  6. Android电池电量检测
  7. Android(安卓)ContentProvider实例详解
  8. 还在为android图标适配烦恼?字体图标你值得拥有
  9. Android支持的资源

随机推荐

  1. android create build.xml under ubuntu
  2. 国内外Android知名技术博客汇总
  3. android 代码混淆问题解决
  4. Android Apk反编译、签名
  5. Android:开发环境搭建
  6. Android(安卓)根据城市名称获取经纬度
  7. 在it混了四年了,android开始半个多年头,发
  8. Android中如何修改CheckBox的颜色
  9. Android写文件到SDCard的一般过程和代码
  10. Android(安卓)Studio:正确引入so文件的方