Android获取电池信息
2012-03-31 20:38
405 查看
之前写过一个桌面电池小控件,记得获取电池信息使用BroadcastReceiver实现的,通常是在一个Service里面,动态注册一个BroadcastReceiver,用以监听电池的电量信息。有时候,仅需要一次性的获取电池电量信息,之前也是这么做的,也即这个监控电池电量的BroadcastReceiver在刚注册的时候,会立即获取一次电池的信息,但是感觉这样获取不大好,于是就又Google了一下,结果在StackOverFlow上找到了一个完美的获取电池电量的方法,虽然也是基于BroadcastReceiver,但是简单了不少。
用下面的代码就可以获取到携带电池信息的Intent了,相当于注册了一个空的BroadcastReceiver。
当然,context.getApplicationContext()不是一定要这样写的,只要在能动态注册BroadcastReceiver的地方registerReceiver( null , new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) )就好。
接下来的信息的获取就简单了,各个字段的含义如果不明白请到Android Developers上看:
这样,想什么时候获取就什么时候获取,想获取几次就获取几次。
后记:
放假了,XXX出去旅游了,一个人在lab可没意思。。。
用下面的代码就可以获取到携带电池信息的Intent了,相当于注册了一个空的BroadcastReceiver。
Intent batteryInfoIntent = context.getApplicationContext() .registerReceiver( null , new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) ) ;
当然,context.getApplicationContext()不是一定要这样写的,只要在能动态注册BroadcastReceiver的地方registerReceiver( null , new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) )就好。
接下来的信息的获取就简单了,各个字段的含义如果不明白请到Android Developers上看:
int status = batteryInfoIntent.getIntExtra( "status" , 0 ); int health = batteryInfoIntent.getIntExtra( "health" , 1 ); boolean present = batteryInfoIntent.getBooleanExtra( "present" , false ); int level = batteryInfoIntent.getIntExtra( "level" , 0 ); int scale = batteryInfoIntent.getIntExtra( "scale" , 0 ); int plugged = batteryInfoIntent.getIntExtra( "plugged" , 0 ); int voltage = batteryInfoIntent.getIntExtra( "voltage" , 0 ); int temperature = batteryInfoIntent.getIntExtra( "temperature" , 0 ); // 温度的单位是10℃ String technology = batteryInfoIntent.getStringExtra( "technology" );
这样,想什么时候获取就什么时候获取,想获取几次就获取几次。
后记:
放假了,XXX出去旅游了,一个人在lab可没意思。。。
相关文章推荐
- Android--获取电池信息(Battery in…
- Android获取设备电池信息,玩些新花样
- Android电池信息的获取
- Android 获取电池基本信息代码
- Android 获取电池信息
- Android--电池相关信息的获取
- Android 获取电池信息
- Android 获取电池信息
- Android 获取电池信息
- Android获取电池电量信息
- Android实现整理PackageManager获取所有安装程序信息
- 从数据库中获取浏览器书签信息(Android Browser开发)
- android ContentResolver的使用(获取和修改联系人信息demo)
- Android手机中获取手机号码和运营商信息
- Android 开源1:获取并解析网页信息(Jsoup)
- Android下使用TelephonyManager类获取设备电话相关信息
- android-获取手机小区信息代码设计
- linux/android进程的模块信息获取
- Android获取已安装应用信息(图标,名称,版本号,包)(转载)
- android获取音频、视频、图片信息