in meiner Anwendung muss der Benutzer mehrere Benachrichtigungen hinzufügen, aber mein Problem ist, wenn der Benutzer die neue Benachrichtigung hinzufügen die alte gelöscht oder abgebrochen .Und ich denke, es ist aus der pendingIntent, was das Passende Flagge sollte ich verwenden?die neue Benachrichtigung stornieren die alte
hier einige meiner Code:
Calendar calendar = Calendar.getInstance();
Intent intent;
PendingIntent pendingIntent;
AlarmManager alarmManager;
long futureInMillis;
switch (type) {
case SCHEDULE_BY_DAYS:
intent = new Intent(this, NotificationReceiver.class);
intent.putExtra(NotificationReceiver.NOTIFICATION_ID, 1);
intent.putExtra(NotificationReceiver.NOTIFICATION, getNotification("WAKEP UP days !!"));
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
break;
case SCHEDULE_BY_HOURS:
futureInMillis = SystemClock.elapsedRealtime() + (value * 600000);
intent = new Intent(this, NotificationReceiver.class);
intent.putExtra(NotificationReceiver.NOTIFICATION_ID, 1);
intent.putExtra(NotificationReceiver.NOTIFICATION, getNotification("WAKEP UP hours"));
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, pendingIntent);
break;
Ich verstehe nicht, was der eindeutige Code enthalten? – user3604741
einfach aufwärts zählen. Die erste Benachrichtigung erhält 1, die zweite 2, usw. Es muss nur einmalig sein und dies ist der einfachste Weg, um genau das zu gewährleisten. – F43nd1r
können Sie mir einen Beispielcode geben, um zu verstehen, wie dies funktioniert, weil es auch die gleiche ID abbrechen muss. – user3604741