`
1140566087
  • 浏览: 547795 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

Android 之 监控手机电量

阅读更多
package com.example.battery;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

/**
 * 功能实现 --- 监控手机的电量 使用动态注册广播 ,实现电量的监控 : 广播地址:ACTION_BATTERY_CHANGED
 * 
 * @author Administrator
 * 
 */
public class MainActivity extends Activity {

	private TextView battery;

	// 应用入口
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		battery = (TextView) findViewById(R.id.battery); // 获取对象
	}

	/**
	 * 应用结束
	 */
	protected void onDestroy() {
		super.onDestroy();

		unregisterReceiver(myBroadcastReceiver); // 注销广播
	}

	/**
	 * 应用运行
	 */
	protected void onResume() {
		super.onResume();
		// 动态注册广播
		this.registerReceiver(myBroadcastReceiver, new IntentFilter(
				Intent.ACTION_BATTERY_CHANGED));
	}

	// 广播接收者
	private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() {

		public void onReceive(Context context, Intent intent) {
			
			if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)){ // 判断是否为电量广播
				// 获取电量信息
				int level = intent.getIntExtra("level",0); // 当前电量
				int scale = intent.getIntExtra("scale",0);	// 总电量
				Log.i("msg","level:"+ level+"   scale:"+scale);
				battery.setText("当前电量:"+((level*100/scale)+"%"));
			}
		}
	};

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics