@Override
public void onReceive(Context context, Intent intent) {
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
BatteryManager.BATTERY_STATUS_UNKNOWN);
if (status == BatteryManager.BATTERY_STATUS_CHARGING
|| status == BatteryManager.BATTERY_STATUS_FULL)
Toast.makeText(context, "Charging!", Toast.LENGTH_SHORT).show();
else
Toast.makeText(context, "Not Charging!", Toast.LENGTH_SHORT).show();
}
manifesto:stato della batteria non è sempre carica
<receiver android:name=".receiver.BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>
</receiver>
In questo codice, il Toast mostra sempre "Not Charging!". L'ho provato su un dispositivo reale e quando lo collego all'alimentazione CA o USB, viene comunque visualizzato "Non caricare!" Crostini.
C'è qualcosa che non va con il tuo intent.getIntExtra, controllare dove questo metodo viene chiamato da e assicurati di impostare l'intento con i parametri corretti – John
Qual è lo stato che ricevi? – zmbq
@John Lo sto usando nel mio manifest. –