您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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就能修復此問題了~
關于“Android4.4如何實現電池低電量告警提示”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。