博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手机服务 & BroadcastReceiver & 获取电池相关内容
阅读量:5848 次
发布时间:2019-06-18

本文共 4154 字,大约阅读时间需要 13 分钟。

BatteryReceiver.java     广播机制

View Code
package com.example.batterydemo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.BatteryManager;import android.util.Log;public class BatteryReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context arg0, Intent intent) {        // TODO Auto-generated method stub        String action = intent.getAction();        // 要看看是不是我们要处理的消息        if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {            // 电池电量,数字            Log.i("Battery", "★电池电量★:" + intent.getIntExtra("level", 0));            // 电池最大容量            Log.i("Battery", "★电池最大容量★:" + intent.getIntExtra("scale", 0));            // 电池伏数,电池的电压            Log.i("Battery", "★电池伏数★:" + intent.getIntExtra("voltage", 0));            // 电池温度(单位:摄氏度)            Log.i("Battery", "★电池温度★:" + intent.getIntExtra("temperature", 0));            // 取得电池类型            Log.i("Battery", "★电池类型★:" + intent.getStringExtra("technology"));            // 取得电池对应的图标ID            Log.i("Battery",                    "★取得电池对应的图标ID★:" + intent.getIntExtra("icon-small", 0));            /** 电池状态,返回是一个数字 */            // BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态            // BatteryManager.BATTERY_STATUS_NOT_CHARGING 表示电池不充电状态            // BatteryManager.BATTERY_STATUS_DISCHARGING 放电中            // BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电            // BatteryManager.BATTERY_STATUS_FULL 电池满            Log.i("Battery","★电池状态★:"                        + intent.getIntExtra("status",                            BatteryManager.BATTERY_STATUS_UNKNOWN));            Log.i("Battery", "充电状态:" + BatteryManager.BATTERY_STATUS_CHARGING);            Log.i("Battery", "电池不充电状态:"                    + BatteryManager.BATTERY_STATUS_NOT_CHARGING);            Log.i("Battery", "放电中:" + BatteryManager.BATTERY_STATUS_DISCHARGING);            Log.i("Battery", "未充电:"                    + BatteryManager.BATTERY_STATUS_NOT_CHARGING);            Log.i("Battery", "电池满:" + BatteryManager.BATTERY_STATUS_FULL);            /** 充电类型 */            Log.i("Battery", "★充电类型★ :" + intent.getIntExtra("plugged", 0));            Log.i("Battery", "交流电电源:" + BatteryManager.BATTERY_PLUGGED_AC);            Log.i("Battery", "USB电源:" + BatteryManager.BATTERY_PLUGGED_USB);            /** 电池健康情况,返回也是一个数字 */            // BatteryManager.BATTERY_HEALTH_GOOD 电池健康            // BatteryManager.BATTERY_HEALTH_OVERHEAT 电池过热            // BatteryManager.BATTERY_HEALTH_DEAD 电池损毁            // BatteryManager.BATTERY_HEALTH_UNKNOWN 未知状态            // BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 电池电压过大            // BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未明示故障            Log.i("Battery",                    "★电池健康情况★:"                            + intent.getIntExtra("health",                                    BatteryManager.BATTERY_HEALTH_UNKNOWN));            Log.i("Battery", "电池健康:" + BatteryManager.BATTERY_HEALTH_GOOD);            Log.i("Battery", "电池过热:" + BatteryManager.BATTERY_HEALTH_OVERHEAT);            Log.i("Battery", "电池损毁:" + BatteryManager.BATTERY_HEALTH_DEAD);            Log.i("Battery", "未知状态:" + BatteryManager.BATTERY_HEALTH_UNKNOWN);            Log.i("Battery", "电池电压过大:"                    + BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE);            Log.i("Battery", "未明示故障:"                    + BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE);                    }    }}

 

BatteryActivity.java      Activity页面

View Code
package com.example.batterydemo;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;public class BatteryActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);        BatteryReceiver breceiver = new BatteryReceiver();        IntentFilter intentFinter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);        BatteryActivity.this.registerReceiver(breceiver, intentFinter);    }}

 

AndroidManifest.xml     配置文件

View Code

 

 

 

转载地址:http://lywjx.baihongyu.com/

你可能感兴趣的文章
新的开始,新的旅途
查看>>
广播接收者BroadcastReceiver浅谈
查看>>
Android应用性能优化之使用SparseArray替代HashMap
查看>>
谈谈转置功能的实现
查看>>
关于JS面向对象中原型和原型链以及他们之间的关系及this的详解
查看>>
oracle新建数据库及入门操作
查看>>
详解FTP服务之vsftpd(附三种用户安装脚本)
查看>>
Ubuntu 安装 postgresql
查看>>
20.20-20.22 告警系统的主脚本,配置文件,监控项目
查看>>
PTES 测试执行标准
查看>>
tomcat6连接池配置(备忘)
查看>>
4G 全网通DTU是什么 有哪些功能应用
查看>>
SVN服务器地址更换,客户端的修改
查看>>
Reactor(死磕2)
查看>>
Linux之RedHat7如何更换yum源
查看>>
基于GPU渲染的工作流程
查看>>
Adobe Camera Raw11 for mac(ps Raw增效工具) v11.2.1新增功能
查看>>
深入解析Internet***
查看>>
Oracle数据库11g新特性:自动存储管理
查看>>
MySQL配置文件my.cnf详解
查看>>