android.os.BatteryManager
如果我们注册了对Intent.ACTION_BATTERY_CHANGED的监听,那么我们马上会收到一个Action为Intent.ACTION_BATTERY_CHANGED的intent,之后只要我们没有取消监听,电池发送变化,我们会收到这样的intent.
通过该intent的extra我们可以取得电池的很多信息,比如电压/ 当前电池的健康状况 等等。
比如电压可以用如下的方式:
int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
(1) EXTRA_HEALTH: 当前电池的健康状态
可能的取值:
BATTERY_HEALTH_COLD
BATTERY_HEALTH_DEAD
BATTERY_HEALTH_GOOD
BATTERY_HEALTH_OVERHEAT
BATTERY_HEALTH_OVER_VOLTAGE
BATTERY_HEALTH_UNKNOWN
BATTERY_HEALTH_UNSPECIFIED_FAILURE
(2)EXTRA_ICON_SMALL:当前用于表示电池状态的icon的资源id
(3)EXTRA_LEVEL: 电池当前的电量
(4) EXTRA_PLUGGED: 当前手机使用的是哪里的电源
可能的取值:
BATTERY_PLUGGED_AC
BATTERY_PLUGGED_USB
(5) EXTRA_PRESENT:表示是否提供电池。有些手机在使用USB电源的情况下,即使拔出了电池,仍然可以正常工作
(6) EXTRA_SCALE:表示电池电量的最大值
(7) EXTRA_STATUS:表示电池的当前状态
可能的取值:
BATTERY_STATUS_CHARGING
BATTERY_STATUS_DISCHARGING
BATTERY_STATUS_FULL
BATTERY_STATUS_NOT_CHARGING
BATTERY_STATUS_UNKNOWN
(8) EXTRA_TECHNOLOGY:表示电池使用的技术。比如,对于锂电池是Li-ion
(9) EXTRA_TEMPERATURE:表示当前电池的温度
(10) EXTRA_VOLTAGE:表示当前电池的电压
package com.example.demo;import android.os.BatteryManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import android.view.Menu;public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();unregisterReceiver(mReceiver);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}BroadcastReceiver mReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubint health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, -1);Log.i("test", "health: " + health);int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);Log.i("test", "voltage: " + voltage);}};
}
android.os.BatteryManager相关推荐
- 异常:android.os.NetworkOnMainThreadException
Android 4.1项目:使用新浪微博分享时报: android.os.NetworkOnMainThreadException 网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请 ...
- android os开机画面,Android简单实现启动画面的方法
本文实例讲述了Android简单实现启动画面的方法.分享给大家供大家参考,具体如下: 核心代码: package com.demo.app; import android.app.Activity; ...
- android.os.NetworkOnMainThreadException
在执行下面方法加载网络数据时出现以上错误. handler.post(new Runnable(){@Overridepublic void run() {// TODO Auto-generated ...
- 如何修复“ android.os.NetworkOnMainThreadException”?
运行RssReader的Android项目时出现错误. 码: URL url = new URL(urlToRssFeed); SAXParserFactory factory = SAXParser ...
- android-解决 Android N 上 报错:android.os.FileUriExposedException
解决 Android N 上 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appN ...
- Caused by: android.os.NetworkOnMainThreadException错误解决办法
错误Caused by: android.os.NetworkOnMainThreadException :查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太 ...
- android.os.binderproxy cannot be cast to,Android服务android.os.BinderProxy错误
我一直在尝试使此android服务正常工作,但我不知道为什么会收到此错误. 05-13 12:13:36.203: ERROR/dalvikvm(7782): could not disable co ...
- Android之android.os.NewWorkOnMainThreadException解决办法
1.问题 用别人提供的的sdk的Demo出现android.os.NewWorkOnMainThreadException 2.解决办法 网络请求开启一个线程请求或者开启异步任务都行 3.总结 1. ...
- Android之解决java.lang.NoSuchMethodError:android.os.powerManager.isInteractive问题
1.问题 再三星平板(Android 4.2.2系统)我们代码powerManager调用了函数isInteractive方法,出现下面错误 java.lang.NoSuchMethodErr ...
最新文章
- 一些linux下的性能监测工具
- 掌握生信技术,玩转生态与地理领域的科研套路
- 【数据结构与算法】之深入解析“戳气球”的求解思路与算法示例
- 第5次基金申请终于中了!这个血泪教训一定要避免
- 521忘记送大家礼物了,补上!
- 变量的三重属性_TypeScript基础入门 - 变量声明(三)
- 遍历删除List中的元素,会报错? 用iterator.remove() 完美解决
- XPath 简单语法
- springboot实现查询手机号归属地
- 别再用QQ的破数字邮箱了,你其实还有注册姓名全拼微软邮箱的机会
- android鲁班压缩
- 第一周CorelDRAW课
- SpringCLoud+redis+es高并发项目《九》(Spring Security Oauth2 JWT)
- saltstack实战--远程执行之返回(returner)
- python怎么模拟点击网页按钮?
- 计算机更新好不,Win10自动更新好不好有必要吗?如何关闭屏蔽Windows更新?
- 为什么大数据与云计算密不可分?
- 移动平台动画设计的12个原则
- 来自学长的快乐AK题——Day8 荒地追猎
- chrome android远程调试工作原理