David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          android手機的充電情況監視

          Posted on 2010-06-21 21:28 David.Ko 閱讀(2461) 評論(0)  編輯  收藏 所屬分類: Android
          當手機電量有變化,或者有充電情況的時候,android會自動的發送一個廣播,要監視充電情況,只需截獲這個廣播就ok啦!
          /**
             * 先聲明一個 IntentFilter 對象
             */
             private IntentFilter   mIntentFilter;
            public void onCreate(Bundle savedInstanceState)
            {
              super.onCreate(savedInstanceState);    
              setContentView(R.layout.main);
              mIntentFilter = new IntentFilter();
             mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
            }
           
            protected void onResume()
            {
              super.onResume();    
              // 注冊消息處理器
              registerReceiver(mIntentReceiver, mIntentFilter);
            }
           
            //聲明消息處理過程
             private BroadcastReceiver mIntentReceiver = newBroadcastReceiver() {
                 @Override
                 public void onReceive(Context context, Intentintent) {
                     String action = intent.getAction();
                     //要看看是不是我們要處理的消息
                    if (action.equals(Intent.ACTION_BATTERY_CHANGED)){           
                         //電池電量,數字
                         Log.d("Battery", "" + intent.getIntExtra("level",0));               
                         //電池最大容量
                         Log.d("Battery", "" + intent.getIntExtra("scale",0));               
                         //電池伏數
                         Log.d("Battery", "" +intent.getIntExtra("voltage", 0));               
                         //電池溫度
                         Log.d("Battery", "" +intent.getIntExtra("temperature", 0));
                         
                         //電池狀態,返回是一個數字
                         // BatteryManager.BATTERY_STATUS_CHARGING 表示是充電狀態
                         // BatteryManager.BATTERY_STATUS_DISCHARGING 放電中
                         // BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充電
                         // BatteryManager.BATTERY_STATUS_FULL 電池滿
                         Log.d("Battery", "" + intent.getIntExtra("status",BatteryManager.BATTERY_STATUS_UNKNOWN));
                        
                         //充電類型 BatteryManager.BATTERY_PLUGGED_AC 表示是充電器,不是這個值,表示是 USB
                         Log.d("Battery", "" +intent.getIntExtra("plugged", 0));
                        
                         //電池健康情況,返回也是一個數字
                         //BatteryManager.BATTERY_HEALTH_GOOD 良好
                         //BatteryManager.BATTERY_HEALTH_OVERHEAT 過熱
                         //BatteryManager.BATTERY_HEALTH_DEAD 沒電
                        //BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 過電壓
                        //BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知錯誤
                         Log.d("Battery", "" + intent.getIntExtra("health",BatteryManager.BATTERY_HEALTH_UNKNOWN));
                     }
                 }
             };
          主站蜘蛛池模板: 墨竹工卡县| 原平市| 弥勒县| 曲水县| 张掖市| 德庆县| 宣武区| 合肥市| 共和县| 承德县| 土默特右旗| 平阴县| 内乡县| 上虞市| 金山区| 巴彦淖尔市| 陈巴尔虎旗| 扬州市| 济南市| 通辽市| 长白| 郯城县| 新巴尔虎左旗| 镇宁| 武定县| 监利县| 西乌| 东山县| 新源县| 姜堰市| 肇庆市| 石泉县| 四平市| 新乡市| 息烽县| 图木舒克市| 衡山县| 朔州市| 萝北县| 闽清县| 明溪县|