国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android4.4開發之電池低電量告警提示原理與實現方法分析

2019-10-22 18:27:00
字體:
來源:轉載
供稿:網友

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

之前版本的電池電量低是通過發送 intent ACTION_BATTERY_LOW來實現的,而在android4.4中,通過發送intent ACTION_BATTERY_CHANGED,也就是電池電量只要變化就檢查是否需要低電量告警,并且實現挪到了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);}

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

接著如下函數就會被調用:

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()即可。

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

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

 

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗平县| 松桃| 都昌县| 屯昌县| 于田县| 洛阳市| 从江县| 绵竹市| 威海市| 庆安县| 阿合奇县| 利川市| 梨树县| 江山市| 渭南市| 商城县| 义乌市| 谷城县| 镇宁| 都兰县| 丹棱县| 瓮安县| 龙井市| 广州市| 桐梓县| 德令哈市| 柳江县| 星子县| 静安区| 辽宁省| 千阳县| 泰兴市| 甘泉县| 缙云县| 托里县| 营山县| 涞水县| 金阳县| 昌图县| 积石山| 沙河市|