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>

效果
Android电池信息(Battery information)_第1张图片

下载dome地址:http://download.csdn.net/detail/bobo8945510/9626988

更多相关文章

  1. 安卓4.X系统 增加蓝牙接收文件类型
  2. JS判断终端类型的几种方法
  3. Android 设置默认桌面,默认应用,辅助功能,电池优化,设备管理器,
  4. Android电池电量检测
  5. 【Android 电量优化】电量优化 ( Battery Historian 环境要求 |
  6. Android类库常用类型解析
  7. 使用User Agent分辨出Android设备类型的安全做法
  8. Android P系统设置之默认选择网络类型(4G,3G,2G)

随机推荐

  1. 【Android】策略模式封装百度地图路线规
  2. JustWe-WebServer Android上的Http服务器
  3. DialogFragment自定义dialog的位置和大小
  4. Android进阶系列4—从LayoutInflater到se
  5. Unity Android使用相机拍摄照片并在其上
  6. Android开发如何验证输入的手机号码是否
  7. opencv实时视频帧在android中没有显示sob
  8. 通过数据库接口获取到的中文数据是问号怎
  9. 尽管在清单文件中指定了权限,但是ACCESS_F
  10. Android快速开发框架andbase