Я создаю приложение часов остановки нескольких, для которого будет несколько идущих параллельно таймеров, и каждое уведомление, связанное с каждым таймером.
Я могу создать несколько таймеров со следующим кодом.
private void updateNotification(int notificationId, int clockStatusID, CharSequence text) {
// notificationManager.cancel(notificationId);
// throws up an ongoing notification that the timer is running
Log.i("TIMERCOUNT", "Notification id: " + notificationId);
Notification not = new Notification(clockStatusID, // the
// icon
// for
// the
// status
// bar
text, // the text to display in the ticker
System.currentTimeMillis() // the timestamp for the
// notification to appear
);
Intent intent = new Intent();
intent.setClassName("com.intuit.time_catcher.android.activities",
"com.intuit.time_catcher.android.activities.Tabs");
not.setLatestEventInfo(self,
getText(R.string.timer_notification_title),
getText(R.string.timer_on_notification_text), PendingIntent
.getActivity(this, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT));
not.flags += Notification.FLAG_ONGOING_EVENT;
not.flags += Notification.FLAG_NO_CLEAR;
notificationManager.notify(notificationId, not);
}
Следующее является проблемой, с которой я сталкиваюсь. Полагайте, что существует 3 выполнения таймера и 3 уведомления в строке состояния. То, когда я обновляю таймер 2, уведомление 3 (который является в самом правом конце), обновляется, но что я действительно хочу сделать, должен обновить второе уведомление (среднее). Когда я печатаю идентификатор уведомления, я вижу правильные значения. Я не могу постигать, почему я получаю это странное поведение?