2011-11-05 80 views
2

我只是想知道是否有任何可能獲得在ACTION_POWER_CONNECTED上觸發的廣播接收器類中的電池狀態?文件建議不要,但它始終是值得問:)ACTION_POWER_CONNECTED上的電池狀態

乾杯 雷

回答

1

呼叫registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED))。返回的Intent是最後廣播ACTION_BATTERY_CHANGED廣播,其中的電池狀態處於其額外狀態(請參閱密鑰的BatteryManager)。

如果你確定你是太快調用它,ACTION_POWER_CONNECTED調用ACTION_BATTERY_CHANGED得到更新之前,或者用AlarmManager安排自己在幾秒鐘醒一次,然後再次檢查。

+0

謝謝你的回答,我已經試過了,但我收到了一條錯誤消息,說我無法註冊其他broadcastReceiver的廣播。我在參考資料中發現,只有當前者未在清單文件中聲明時,broadcastReceiver纔可以註冊其他接收者。這迫使我重新考慮該計劃......無論如何感謝! – Ray

+0

@Ray:抱歉,調用'context.getApplicationContext()。registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED))',其中'context'是傳遞給'onReceive()'的上下文。更多:http://commonsware.com/blog/2010/09/12/real-use-getapplicationcontext.html – CommonsWare

+0

這很好,謝謝! :) – Ray