2013-03-15 94 views
-3

我有簡單的廣播監聽ON_CHANGE事件,所以我的主要問題是,爲什麼我的手機有時1%,但2%,3%或4%跳下來不?的onReceive電池(如何跟蹤每1%)

它有時感覺就像手機睡覺,不能接收意向,但過一段時間後,又回來從睡眠,並得到不1%,但4% 編輯

/* Broadcast Receiver for battery stats            */ 
      IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 


      batteryLevelReceiver = new BroadcastReceiver(){ 
       @Override 
       public void onReceive(Context context, Intent intent){ 
        int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
        int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); 
        int isCharging = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); 

...... 

    registerReceiver(batteryLevelReceiver, batteryLevelFilter); 
+1

發表您的registerReceiver()和相關代碼以及您的broadcastReceiver。 – TronicZomB 2013-03-15 20:01:34

+1

正如艾哈邁德說,看起來不錯,在我看來... – TronicZomB 2013-03-15 20:40:15

+0

是啊:)在我看來也是:) – whiteLT 2013-03-15 20:42:02

回答

2

所以我主要問題是爲什麼我的手機有時跳不下1%,但是 降低2%,3%或4%?

這是不應該發生的。通常在電池電量耗盡1%(或電池狀態總體變化)後,廣播將會啓動。但有一個例外。在某些摩托羅拉設備上,ACTION_BATTERY_CHANGED只會每10%啓動一次。對於一個廣播接收器的實例,聆聽ACTION_BATTERY_CHANGED請參閱this answer我放了一段時間。

但過一段時間後,又回來從睡眠,並得到不1%,但4%

的廣播接收器並沒有喚醒你的手機,所以這是不尋常:)

+0

所以也許它只是我的三星口袋? :) – whiteLT 2013-03-15 20:20:43

+0

AFAIK 10%的東西只出現在一些摩托羅拉設備上。您的編輯代碼也看起來不錯 – Ahmad 2013-03-15 20:24:06

+0

嗯...然後我的想法不存在 – whiteLT 2013-03-15 20:25:30