android电池管理
来源:互联网 发布:驱动下载软件 编辑:程序博客网 时间:2024/04/30 10:49
开发环境
Window 7
Eclipse helios
MB525 defy Android 2.1-update1
羽化博客的第三篇,由于这个星期兄弟过来玩,所以决定选个简单的程序来写博客,Android技术群里面也有人问过,网上资料也很多,原来写这个程序目的就是随便试试,这次一切从简吧~ ~好了 送上程序代码:
com.LB里面主程序Battery代码:
- package com.LB;
- import android.app.Activity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.BatteryManager;
- import android.os.Bundle;
- import android.widget.TextView;
- public class Battery extends Activity
- {
- private int BatteryN; //目前电量
- private int BatteryV; //电池电压
- private double BatteryT; //电池温度
- private String BatteryStatus; //电池状态
- private String BatteryTemp; //电池使用情况
- public TextView TV;
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 注册一个系统 BroadcastReceiver,作为访问电池计量之用这个不能直接在AndroidManifest.xml中注册
- registerReceiver(mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
- TV = (TextView)findViewById(R.id.TV);
- }
- /* 创建广播接收器 */
- private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver()
- {
- public void onReceive(Context context, Intent intent)
- {
- String action = intent.getAction();
- /*
- * 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就运行onBatteryInfoReceiver()
- */
- if (Intent.ACTION_BATTERY_CHANGED.equals(action))
- {
- BatteryN = intent.getIntExtra("level", 0); //目前电量
- BatteryV = intent.getIntExtra("voltage", 0); //电池电压
- BatteryT = intent.getIntExtra("temperature", 0); //电池温度
- switch (intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN))
- {
- case BatteryManager.BATTERY_STATUS_CHARGING:
- BatteryStatus = "充电状态";
- break;
- case BatteryManager.BATTERY_STATUS_DISCHARGING:
- BatteryStatus = "放电状态";
- break;
- case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
- BatteryStatus = "未充电";
- break;
- case BatteryManager.BATTERY_STATUS_FULL:
- BatteryStatus = "充满电";
- break;
- case BatteryManager.BATTERY_STATUS_UNKNOWN:
- BatteryStatus = "未知道状态";
- break;
- }
- switch (intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN))
- {
- case BatteryManager.BATTERY_HEALTH_UNKNOWN:
- BatteryTemp = "未知错误";
- break;
- case BatteryManager.BATTERY_HEALTH_GOOD:
- BatteryTemp = "状态良好";
- break;
- case BatteryManager.BATTERY_HEALTH_DEAD:
- BatteryTemp = "电池没有电";
- break;
- case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
- BatteryTemp = "电池电压过高";
- break;
- case BatteryManager.BATTERY_HEALTH_OVERHEAT:
- BatteryTemp = "电池过热";
- break;
- }
- TV.setText("目前电量为" + BatteryN + "% --- " + BatteryStatus + "\n" + "电压为" + BatteryV + "mV --- " + BatteryTemp + "\n" + "温度为" + (BatteryT*0.1) + "℃");
- }
- }
- };
- }
layout的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:id = "@+id/TV"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
好了,很简单的代码,至于为什么要传入数值怎么写大家可以看看帮助文档里面的BatteryManager --- The BatteryManager class contains strings and constants used for values in theACTION_BATTERY_CHANGED
Intent. 原来看mars的视频里面学到的最重要的不是如何开发Android而是学会使用帮助文档,也推荐大家看看这个学习视频,自我认为看视频比看书学得快-0-
- android电池管理
- Android-statuabar电池管理
- Android电池管理
- android电池管理系统
- android BatteryManager电池管理
- android电池管理系统
- android电池管理系统
- android电池管理系统
- Android 电池管理系统
- Android 电池管理系统
- Android 电池管理系统
- Android 电池管理
- Android 电池管理系统
- Android的电池的管理
- android 电池管理(大全)
- android 4.4电池管理流程
- Android Battery(四) 电池管理
- android 电池管理之个人理解
- 数据库的登录和注册
- sql用存储过程获取当前计算机ip
- 最大子段和——分治与动态规划
- T-SQL with as 的用法(转)
- poj 3368(RMQ应用)
- android电池管理
- HYML5下一代web from
- 如何提高激活DSO数据的性能
- CDN总结之一
- HTML在线编辑器。。一看就会的
- rman总结
- JDBC的事务控制和批量处理
- 游标
- reg