Sto avendo lo stesso problema di questo post: Battery broadcast receiver doesn't work. Ma sembra che nessuno abbia risposto a questa domanda.Non riesco a ricevere la trasmissione sullo stato della batteria?
Ecco il mio BroadcastReceiver:
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();
}
E qui è il mio 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>
Ho anche aggiunto questa linea per il manifesto:
<uses-permission android:name="android.permission.BATTERY_STATS"/>
Ma ancora nessun successo!
Sarei davvero grato se qualcuno potesse consigliarmi cosa sto facendo male.
grazie a Darshan, ma voglio eseguire un servizio solo quando la batteria è scarica o è collegata. Potresti dirlo come dovrei farlo? –
Se questi sono gli unici due eventi che ti interessano, non hai affatto bisogno di "ACTION_BATTERY_CHANGED" e starai bene registrandoli nel manifest. La trasmissione per essere collegata è 'ACTION_POWER_CONNECTED'. Entrambe le azioni possono avere lo stesso 'intent-filter', non è necessario impostare una priorità e non è necessario il permesso' BATTERY_STATS'. –