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));
                     }
                 }
             };
          主站蜘蛛池模板: 江北区| 安仁县| 河源市| 胶州市| 富川| 芜湖市| 白水县| 昭觉县| 夏津县| 鄢陵县| 白城市| 济源市| 汉沽区| 宣汉县| 扬中市| 宁城县| 徐闻县| 霍州市| 大邑县| 南涧| 衡阳县| 东乡| 龙南县| 包头市| 什邡市| 钟山县| 临泽县| 无锡市| 常州市| 阳谷县| 临清市| 广丰县| 清水河县| 万载县| 仪征市| 涿鹿县| 冕宁县| 合肥市| 锡林郭勒盟| 衡水市| 秭归县|