Ich bin ein Int zu einem BroadcastReceiver, aber ich bin mir nicht sicher, ob ich es richtig mache, da es manchmal funktioniert und manchmal nicht.Bundle.getExtras Fehlfunktion
die Int Senden:
Intent intent = new Intent(getActivity(),Broadcast_RemoveClass.class);
Bundle bundle = new Bundle();
bundle.putDouble("mInt", i);
intent.putExtras(bundle);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity().getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000 * 5, pendingIntent);
Toast.makeText(getActivity(), "countdown started for: " + i,Toast.LENGTH_LONG).show();
Erhalten des Int:
public class Broadcast_RemoveClass extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
int i = bundle.getInt("mInt");
Toast.makeText(context, "done" + i , Toast.LENGTH_LONG).show();
}
}
Manchmal wird es den aktuellen int aber dann kommt es nur zu einem Punkt, dass es hält nur die Einstiegs- vorhergehend int. Beim Versenden der Intents wird im Toast der richtige int angezeigt, aber dann wird im BroadcastReceiver ein falscher int gefunden. Irgendwelche Ideen, was dies bewirkt?
Mögliches Duplikat von [Androiden-Benachrichtigungsproblem] (http://stackoverflow.com/questions/3009059/android-pending-intent-notification-problem) –