David.Ko

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

          android手機的充電情況監視

          Posted on 2010-06-21 21:28 David.Ko 閱讀(2469) 評論(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));
                     }
                 }
             };
          主站蜘蛛池模板: 临洮县| 东山县| 丽水市| 延川县| 夏邑县| 建宁县| 宝应县| 泰和县| 平罗县| 财经| 诸暨市| 东平县| 东明县| 宜阳县| 鄂州市| 平湖市| 涞源县| 昌平区| 琼结县| 长葛市| 浦东新区| 股票| 新田县| 长春市| 绥德县| 闽侯县| 安平县| 保康县| 卓尼县| 响水县| 宝兴县| 阿拉尔市| 靖安县| 龙陵县| 克拉玛依市| 钟山县| 东乌| 宁波市| 朝阳市| 青冈县| 阿拉善右旗|