1 主类

package com.jli.battery;import android.app.Activity;import android.app.Service;import android.content.BroadcastReceiver;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.content.ServiceConnection;import android.content.SharedPreferences;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.IBinder;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class Main extends Activity {private ImageView tvBatteryChanged;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        tvBatteryChanged = (ImageView)findViewById(R.id.test);        //注册一个接受广播类型        registerReceiver(new BatteryBroadcastReceiver(), new IntentFilter(Intent.ACTION_BATTERY_CHANGED));    }        /**接受电量改变广播*/    class BatteryBroadcastReceiver extends BroadcastReceiver{        @Override    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", 100);   int curPower = (level * 100 / scale)/25;   switch (curPower) {case 0:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power0));break;case 1:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power1));break;case 2:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power2));break;case 3:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power3));break;case 4:tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power4));break;}    }    }    }}

2 xml

<?xml version="1.0" encoding="utf-8"?>

3 然后记得要加上这句,这个应该是注册电池广播的,如果不加的话会报错,放在Manifest.xml这个文件里面


4 效果图【其实代码很好理解的,都不用怎么仔细看的】


更多相关文章

  1. Android调用系统下载服务下载文件
  2. Android手机开发:开机自动启动程序
  3. BroadcastReceiver广播监听android网络状态
  4. 《Android(安卓)Binder5-注册服务》
  5. [Android]开启/关闭/监听 飞行模式
  6. android监听手机网络连接状态改变的后台服务
  7. Android(安卓)使用广播(BroadcastReceiver)传递数据
  8. Android(安卓)监听网络变化
  9. Android通过socket连接服务器(PC)

随机推荐

  1. Python语言的特点、程序设计基本方法
  2. Python:eval()将值强制转换为浮点数?
  3. Windows7下Jupyter Notebook使用入门
  4. 机器学习教程之2-k近邻模型的sklearn实现
  5. 我无法使用GAE在Windows上以本地模式运行
  6. 7-13 日K蜡烛图
  7. Python 文件的基本操作
  8. 使用Python+PIL查看两张相似图形的差异
  9. eclipse中写python文件找不到
  10. openpyxl读取excel中公式的结果值