Android系列实例之:手机电池还剩多少
来源:互联网 发布:专题片男生配音软件 编辑:程序博客网 时间:2024/04/18 03:11
程序将通过注册BroadcastReceiver时设置的IntentFilter来捕捉系统发出的Intent.ACTION_BATTERY_CHANGED这个Action,再以此取得手机电池的计量结果
status(int类型)状态,定义值是BatteryManager.BATTERY_STATUS_XXX。
health(int类型)健康,定义值是BatteryManager.BATTERY_HEALTH_XXX。
present(boolean类型)
level(int类型)电池剩余容量
scale(int类型)电池最大值。通常为100。
icon-small(int类型)图标ID。
temperature(int类型)温度,0.1度单位。
例如表示197的时候,意思为19.7度。
technology(String类型)电池类型
例如,Li-ion等等。
Activity
package org.newboy.bat;import android.app.Activity;import android.app.AlertDialog;import android.content.BroadcastReceiver;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {private Button buttonBattery; // 按钮private BroadcastReceiver mBatReceiver = new BroadcastReceiver() {int level; // 电池还剩多少int scale; // 总容量@Overridepublic void onReceive(Context context, Intent intent) {// 得到相应的actionString action = intent.getAction();if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {// 电池剩余容量level = intent.getIntExtra("level", 0);// 电池最大值scale = intent.getIntExtra("scale", 100);// 显示电池信息AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("电池信息").setMessage("电池还剩" + String.valueOf(level * 100 / scale) + "%");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 点按钮取消广播的接收unregisterReceiver(mBatReceiver);}});builder.show();}}};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);buttonBattery = (Button) findViewById(R.id.buttonBattery);buttonBattery.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 通过代码注册广播registerReceiver(mBatReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));}});}}
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/hello"android:layout_margin="2dip" /><Button android:text="显示电量" android:id="@+id/buttonBattery"android:layout_height="wrap_content" android:layout_width="match_parent"android:layout_margin="2dip"></Button></LinearLayout>
运行效果:
- Android系列实例之:手机电池还剩多少
- android之检测手机电池
- android之检测手机电池
- Android 中自定义控件之判断还剩多少可输入字符的EditText
- 工作之余,你还剩多少自由时间?
- 输入多少字 还剩多少字
- Android 查看手机电池信息
- 手上青春还剩多少
- android 还可以输入多少个字符
- 手机电池
- Android手机电池省电方法
- Android 获得手机电池的情况
- js 时间差(过去了多少时间、还剩多少时间)
- js 时间差(过去了多少时间、还剩多少时间)
- 我们的青春还剩多少?
- jquery还剩多少字符输入
- 查看磁盘还剩多少空间
- java 计算今天还剩多少时间
- onresize事件
- YSLOW far-future expiration date Add an Expires or a Cache-Control Header
- 《俄罗斯方块-----消行》
- mysql 备份数据库脚本
- C#截取指定长度的方法
- Android系列实例之:手机电池还剩多少
- android之通过phoneStateListener监听电话状态改变
- VC在MFC下定义全局变量和全局函数VC++
- (转)mysql优化
- 每日点滴之贰零壹壹年拾壹月贰拾叁日-莫名其妙缺少的磁盘空间
- HibernateDAO 生成方法注解
- so many stuff to learn
- iPhone编程规范
- SMIL概述 MMS的封装组包