package com.wistron.WiCamera; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.BatteryManager; import android.widget.Button; import com.wistron.swpc.wicamera3dii.R; /** * * @Copyright (c) 2011 Wistron SWPC All rights reserved. * * @created: 2011/09/26 * @filename: BatteryReceiver.java * @author WH1107063(周海江) * @purpose 接收剩余电量广播的Receiver * * * * */ public class BatteryReceiver extends BroadcastReceiver { private Button m_btn_battery; private Button m_btn_battery_panorama; public BatteryReceiver(Button m_btn_battery,Button m_btn_battery_panorama) { // TODO Auto-generated constructor stub this.m_btn_battery = m_btn_battery; this.m_btn_battery_panorama=m_btn_battery_panorama; } @Override public void onReceive(Context context, Intent intent) { // System.out.println("BatteryReceiver 被注册"); int status = intent.getIntExtra("status", 0); if (status == BatteryManager.BATTERY_STATUS_CHARGING) { m_btn_battery.setBackgroundResource(R.drawable.camera_battery_charge); m_btn_battery_panorama.setBackgroundResource(R.drawable.camera_battery_charge); } else { // TODO Auto-generated method stub int rawlevel = intent.getIntExtra("level", -1);// 获得当前电量 int scale = intent.getIntExtra("scale", -1); // 获得总电量 int level = -1; if (rawlevel >= 0 && scale > 0) { level = (rawlevel * 100) / scale; } // m_btn_battery.setText(level + "%"); if (level == 100) { m_btn_battery .setBackgroundResource(R.drawable.camera_battery_high); m_btn_battery_panorama.setBackgroundResource(R.drawable.camera_battery_high); } else if (level > 80) { m_btn_battery .setBackgroundResource(R.drawable.camera_battery_high); m_btn_battery_panorama .setBackgroundResource(R.drawable.camera_battery_high); } else if (level >= 30) { m_btn_battery .setBackgroundResource(R.drawable.camera_battery_med); m_btn_battery_panorama .setBackgroundResource(R.drawable.camera_battery_med); } else { m_btn_battery .setBackgroundResource(R.drawable.camera_battery_low); m_btn_battery_panorama .setBackgroundResource(R.drawable.camera_battery_low); } } } }