Android: сделать уведомление сохраняться при перезагрузке телефона - PullRequest
2 голосов
/ 22 февраля 2011

Каков наилучший способ сохранения уведомлений в строке состояния при выключении и повторном включении телефона?Единственное решение, о котором я могу подумать, - это создать уведомление в Сервисе, которое запускается в ответ на BOOT_COMPLETED_ACTION Намерение.

1 Ответ

7 голосов
/ 22 февраля 2011

Единственное решение, о котором я могу подумать, - это создать уведомление в Сервисе, которое запускается в ответ на намерение BOOT_COMPLETED_ACTION.

Для получения Notification вы, вероятно, можете обойтись, просто сделав это в BOOT_COMPLETED_ACTION BroadcastReceiver, а не делегировав его службе. Тем не менее, я согласен, это единственный способ сделать это AFAIK.

Только убедитесь, что вы не раздражаете своих пользователей этим. Большинство людей ожидают относительно чистого листа при перезагрузке телефона. Android предполагает, что уведомления больше не актуальны при перезагрузке, поэтому они не сохраняются.

Так, например, предположим, что вы писали почтовый клиент и используете уведомления, чтобы сообщить пользователю о непрочитанных сообщениях. Ответ не должен быть «заново отображать уведомление о непрочитанном сообщении после перезагрузки». Ответ должен быть «проверить непрочитанные сообщения после перезагрузки и поднять уведомление, если есть непрочитанные сообщения». Таким образом, если нет непрочитанных сообщений (например, пользователь какое-то время выключил телефон и позаботился о своей электронной почте на ПК или планшете), он не получит ложное уведомление.

...