PreludeText aktualisiert mitteilungs, nicht ganz Meldung
Ich versuche, einen Chronometer über die Mitteilung hinzuzufügen. Der Chronometer ist ein Service. Jeder zweite dieser Zeile genannt wird (weiter Thema ist eine der "running" boolean, ist Time die erarbeitete String, die die Zeit):
NotificationChrono.updateNotification(getApplicationContext(), continueThread,
NOTIF_ID, timeString, "Chronometer", notificationManager);
Dies ist die NotificationChrono Klasse:
public class NotificationChrono {
static public void updateNotification(Context context, boolean running,
int id, String title, String text,
NotificationManager notificationManager) {
Intent stopIntent = new Intent("com.corsalini.david.barcalc.STOP");
PendingIntent stopPendingIntent = PendingIntent.getBroadcast(context,
0, stopIntent, 0);
Intent startIntent = new Intent(
"com.corsalini.david.barcalc.STARTPAUSE");
PendingIntent startPendingIntent = PendingIntent.getBroadcast(context,
0, startIntent, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context)
.setContentText(context.getString(R.string.notif_text))
.setContentTitle(title)
.setSmallIcon(R.drawable.ic_action_alarm_2)
.setAutoCancel(false)
.setOngoing(running)
.setOnlyAlertOnce(true)
.setContentIntent(
PendingIntent.getActivity(context, 10, new Intent(
context, FrontActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), 0))
.addAction(
running ? R.drawable.ic_action_pause
: R.drawable.ic_action_play,
running ? context.getString(R.string.pause) : context
.getString(R.string.start), startPendingIntent)
.addAction(R.drawable.ic_action_stop,
context.getString(R.string.stop), stopPendingIntent);
notificationManager.notify(id, builder.build());
}
}
Problem
Jede Sekunde wird die Benachrichtigung gelöscht und neu erstellt, visuell bedeutet dies, dass jede Sekunde die Benachrichtigung verschwindet und wieder in der Benachrichtigungsliste erscheint.
Was ich möchte, ist nur den TITLE-Text zu aktualisieren, nicht die Benachrichtigung vollständig jede Sekunde neu erstellen. Ist es möglich?
Wenn meine Antwort den Trick für dich gemacht hat, akzeptiere bitte als Antwort :) – PieterAelse
Ich habe deine Antwort nicht verwendet, ich erinnere mich nicht genau, was ich getan habe (ich glaube, der Trick war mit setWhen). Aber wenn ich deine Antwort lese, scheint es eine bessere Lösung zu sein, das werde ich akzeptieren! –