欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android4.4開發(fā)之電池低電量告警提示原理與實現(xiàn)方法分析

 更新時間:2017年09月28日 11:54:21   作者:KrisFei  
這篇文章主要介紹了Android4.4開發(fā)之電池低電量告警提示原理與實現(xiàn)方法,結合實例形式分析了Android4.4電池電量警告的原理及相關操作技巧,需要的朋友可以參考下

本文實例講述了Android4.4電池低電量告警提示原理與實現(xiàn)方法。分享給大家供大家參考,具體如下:

之前版本的電池電量低是通過發(fā)送 intent ACTION_BATTERY_LOW來實現(xiàn)的,而在android4.4中,通過發(fā)送intent ACTION_BATTERY_CHANGED,也就是電池電量只要變化就檢查是否需要低電量告警,并且實現(xiàn)挪到了PowerUI中。

路徑:

frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java

public void start() {
......
  //注冊intent, 主要關注的是ACTION_BATTERY_CHANGED消息。
  // Register for Intent broadcasts for...
  IntentFilter filter = new IntentFilter();
  filter.addAction(Intent.ACTION_BATTERY_CHANGED);
  filter.addAction(Intent.ACTION_SCREEN_OFF);
  filter.addAction(Intent.ACTION_SCREEN_ON);
  mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
}

當電池電量發(fā)生變化的時候,BatteryService就會發(fā)送 ACTION_BATTERY_CHANGED的 intent.

接著如下函數(shù)就會被調用:

private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
  @Override
  public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
      ......
      mBatteryStatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
          BatteryManager.BATTERY_STATUS_UNKNOWN);
      ......
      if (!plugged
          && (bucket < oldBucket || oldPlugged)
          && mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN
          && bucket < 0) {
        showLowBatteryWarning();
      ......
    }
  }
};

如果不想要顯示低電量對話框, 只要不調用showLowBatteryWarning()即可。

我遇到的問題在于插上充電座之后開機仍然顯示低電量告警,提示要插入充電器,出現(xiàn)這個問題的原因在于: 電池是另外一塊板子供的,所以沒有插拔信息,并且battery status默認情況下也是BATTERY_STATUS_UNKNOWN。

因此只要將status改成BATTERY_STATUS_CHARGING就能修復此問題了~

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android硬件相關操作與應用總結》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

最新評論