当前位置:操作系统 > 安卓/Android >>

[Android开发学习32]BroadcastReceiver之电源管理

直接上代码:

[java]
/* ========================== Battery Start =============================*/ 
     
    int tBatteryLevel = 0, tBatteryCurLevel = 0; 
    int tBatteryChargeFlag = -1; 
     
    private void Battery(){ 
        int tTempFlag = 0; 
         
        ImageButton tTempButton = (ImageButton)findViewById(R.id.top_battery); 
        tTempButton.setVisibility(View.INVISIBLE); 
         
        IntentFilter   mIntentFilter = new IntentFilter();   
        mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);     
         
         
        // 声明消息处理过程  
        BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { 
 
            @Override 
            public void onReceive(Context context, Intent intent) { 
                // TODO Auto-generated method stub  
                String action = intent.getAction(); 
                if(action.equals(Intent.ACTION_BATTERY_CHANGED)){ 
                    //电池电量,数字   
                    int tTempLevel = intent.getIntExtra("level", 0); 
                    //电池最大容量  
                    int tTempScale = intent.getIntExtra("scale", 100); 
                    //电池状态,返回是一个数字       
                    // BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态       
                    // BatteryManager.BATTERY_STATUS_DISCHARGING 放电中       
                    // BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电       
                    // BatteryManager.BATTERY_STATUS_FULL 电池满  
                    int tTempStatus = intent.getIntExtra("status", 0); 
                     
                    tTempLevel = (tTempLevel * 100) / tTempScale; 
                    if (tTempLevel > 95) 
                        tBatteryLevel = 5; 
                    else if(tTempLevel > 80) 
                        tBatteryLevel = 4; 
                    else if(tTempLevel > 60) 
                        tBatteryLevel = 3; 
                    else if(tTempLevel > 40) 
                        tBatteryLevel = 2; 
                    else if(tTempLevel > 20) 
                        tBatteryLevel = 1; 
                    else 
                        tBatteryLevel = 0; 
                     
                    if (tTempStatus == BatteryManager.BATTERY_STATUS_CHARGING) 
                        tBatteryChargeFlag = 1; 
                    else 
                        tBatteryChargeFlag = 0; 
                } 
            } 
             
        }; 
 
        registerReceiver(mIntentReceiver, mIntentFilter);  
    } 
/* ========================== Battery End   =============================*/ 

/* ========================== Battery Start =============================*/
 
 int tBatteryLevel = 0, tBatteryCurLevel = 0;
 int tBatteryChargeFlag = -1;
 
 private void Battery(){
  int tTempFlag = 0;
  
  ImageButton tTempButton = (ImageButton)findViewById(R.id.top_battery);
  tTempButton.setVisibility(View.INV

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,