Intent intent_1 = new Intent(this, MainActivity.class);
taskStackBuilder = TaskStackBuilder.create(this);
taskStackBuilder.addParentStack(MainActivity.class);
taskStackBuilder.addNextIntent(intent_1);
pendingIntent_1 = taskStackBuilder.getPendingIntent(EBC_ID,PendingIntent.FLAG_UPDATE_CURRENT);
notification = new Notification.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(getString(R.string.Text))
.setContentText(time)
.setAutoCancel(false)
.setContentIntent(pendingIntent_1)
.build();
notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID, notification);
Я не нашел ничего подобного, поэтому я решил спросить.
После нажатия кнопки «Пуск» отображается уведомление, теперь, если я нажимаю кнопку «Стоп», чтобы отключить его, вызов: notificationManager.cancel(NOTIFICATION_ID);
это Хорошо. Но когда я меняю ориентацию экрана: Таким образом, кнопка остановки не работает, уведомление отображается постоянно.
Как мне сохранить ссылку на них?
Я пытался сохранить ее через объект Bundle, но для этого требовался простой объект (string, int), Я не могу поставить объект уведомления. Также пробовал sharedpreferences и parcelable метод, но он не работал, им тоже нужно (String, int).
Также пробовал что-то вроде этого:
String noti1 = String.valueOf(notification);
String noti2 = String.valueOf(notificationManager);
Затем в методе onSaveInstanceState () я могу передать его:
savedInstanceState.putString("notification1", noti1);
savedInstanceState.putString("notification2", noti2);
Но восстановить его как:
notification = savedInstanceState.getString("notification1");
Недопустимо. Объект уведомления отличается от объекта String.
Итак, как я могу получить ссылку на мой объект уведомления? (после того, как приложение уничтожено)
Должен ли я восстанавливать только объект уведомлений или messagesManager и TaskStackBuilder?