2013-08-21 477 views
0

我有一個顯示電池電量的通知。通知是在服務中,因爲即使應用程序關閉,服務仍然運行,它可以顯示電池的百分比..我注意到當通知處於活動狀態時,電池電量降低得更快。是否有解決方法這個問題?我的服務通知會造成電池電量不足

編輯:服務

@Override 
    public void onCreate(){ 
     super.onCreate(); 
     mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     new IntentFilter(Intent.ACTION_BATTERY_CHANGED);  
    } 

,並在清單的 的onCreate我寫這太ACTION_BATTERY_CHANGED

+0

我認爲這是正常的,因爲你不斷在後臺運行服務,它會消耗非常顯着的電池壽命。順便說一下,爲什麼會使用通知顯示電池電量?電池狀態是否不夠? –

+0

因爲我的應用程序顯示(在我的意思是MainActivity內)一些電池信息,並且在設置中您可以激活電池電量和溫度的永久通知。這是其他應用程序的功能:)但是,請吃電池。這是一個矛盾!這是一個電池保護程序的應用程序!所以你認爲沒有別的辦法? –

+0

這是應用程序https://play.google.com/store/apps/details?id=com.dd.batterystats –

回答

0

理想情況下,你會希望只更新您的看法電池狀態改變時。您是否嘗試過監視此廣播操作而不是輪詢電池電量?

http://developer.android.com/reference/android/content/Intent.html#ACTION_BATTERY_CHANGED

這樣,你只需要一些執行操作時的狀態的變化,而不是所有在後臺的時候。

+0

我已經使用電池更換意圖。但似乎更新並不總是當電池更換水平,但也(我不知道爲什麼)每隔10秒。但是..我從來沒有寫過這樣的東西。 –

+1

看起來電池更換事件是週期性發生的,無論電池狀態如何變化。這裏有一個可能的解決方案,使用輪詢作爲解決方法:http://stackoverflow.com/questions/7624882/action-battery-changed-firing-like-crazy – MattMatt

+0

那麼你認爲這是更好的決定一個間隔來更新例如? –