我與此帖有完全相同的問題:Battery broadcast receiver doesn't work。但似乎沒有人回答這個問題。我無法接收電池狀態更改的廣播?
這裏是我的廣播接收器:
public class BatteryLevelReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.v("plugg", "plug change fired");
Toast.makeText(context, " plug change fired", Toast.LENGTH_LONG).show();
}
這裏是我的AndroidManifest.xml:
<receiver android:name=".ReceversAndServices.BatteryLevelReceiver">
<intent-filter android:priority="900">
<action android:name="android.intent.action.BATTERY_LOW" />
</intent-filter>
</receiver>
<receiver android:name=".ReceversAndServices.BatteryLevelReceiver">
<intent-filter android:priority="900">
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>
</receiver>
我也加入了這一行的清單:
<uses-permission android:name="android.permission.BATTERY_STATS"/>
但仍沒有成功!
我真的很感激,如果有人能告訴我我做錯了什麼。
感謝Darshan,但我只想在電池電量不足或插上電源時運行服務。請您告訴我我該怎麼做? –
如果這些是你關心的唯一兩個事件,那麼你根本不需要'ACTION_BATTERY_CHANGED',並且在清單中你將很好地註冊它們。被插入的廣播是「ACTION_POWER_CONNECTED」。這兩個操作都可以在同一個'intent-filter'下,你不需要設置優先級,也不需要'BATTERY_STATS'權限。 –