Уведомления в строке состояния «Основы Android»

Основы Android: уведомления в строке состояния.

Часто приложения выполняют некоторые фоновые операции — возможно, когда приложение работает или может быть вызвано запланированным сигналом тревоги. Однако пользователь не будет знать, что происходит, если он не будет проинформирован о каком-либо событии. К счастью, в Android есть простая система уведомлений, которая позволяет приложениям отображать сообщение в строке состояния и предоставлять пользователю информативные сведения, когда происходит что-то важное..

В этом руководстве мы расширим существующий безымянный "TutList" приложение для уведомления пользователя о запланированной загрузке учебных пособий. Когда пользователь нажимает на уведомление в строке состояния, приложение запускается. Таким образом, мы используем уведомления, чтобы предоставить пользователю обратную связь о том, что что-то произошло, а также напоминаем пользователю о существовании приложения и доступности свежего контента..

Шаг 0: начало работы.

В этом руководстве предполагается, что вы начинаете с того места, где был последний "TutList" учебник остановлен. Вы можете загрузить этот код и работать с ним, или вы можете просто загрузить или просмотреть код, предоставленный с этим руководством, и следовать за ним. Выбор за вами. У нас код версии 9. "теги" вид программы просмотра исходного кода есть у каждой версии, для удобства.

Шаг 1. Уведомления Android.

Система уведомлений Android получила высокую оценку пользователей и разработчиков. Он прост в использовании, гибок и удобен. В этом руководстве не будут рассмотрены все детали системы уведомлений. Вместо этого мы сосредоточимся на получении конкретных уведомлений, работающих для приложения TutList..

Вообще говоря, уведомления в строке состояния вверху экрана пользователя (или внизу на планшетах под управлением Android 3.0) отображаются в виде значка и небольшого текста. Когда строка состояния "снесены", пользователь может видеть более подробную информацию об уведомлении. Эти детали могут быть нарисованы по умолчанию или они могут быть нарисованы с помощью настраиваемого объекта RemoveViews, если вы хотите получить фантазию. Кроме того, уведомления могут воспроизводить звуки или мигать разноцветными огнями. Уведомления также могут отображаться один раз, отображаться постоянно (например, для обновления хода выполнения текущей задачи) или отображать количество элементов (например, для отображения количества новых писем).

Мы создадим простое уведомление, которое информирует пользователя, когда список руководств в формате XML был загружен и проанализирован..

Начнем с получения экземпляра объекта NotificationManager, базового объекта, с помощью которого обрабатываются уведомления. Мы начнем с добавления кода в метод onPostExecute () внутреннего класса DownloaderTask, находящегося в TustListDownloaderService..

Следующий код Java извлекает экземпляр, используя контекст приложения:

Шаг 2: Создание уведомления.

Объект уведомления инкапсулирует информацию, используемую для отображения нового уведомления пользователю или для обновления существующего уведомления. Поскольку существующие уведомления можно обновлять, создание уведомления состоит из двух частей. Сначала настраиваются основные данные уведомления — значок, отображаемый в строке состояния, краткий текст, отображаемый в строке состояния, и время уведомления создаются отдельно от события уведомления. Событие уведомления, которое состоит из деталей, показываемых пользователю.,

Создадим уведомление:

Здесь мы устанавливаем значок на один из системных значков. Для вашего собственного приложения, вероятно, лучше всего создать свой собственный набор иконок. У Google есть отличный ресурс по созданию значков в строке состояния для Android 2.3 и более поздних версий, а также для Android 2.2 и более ранних версий, которые можно найти в руководстве по значкам в документации для разработчиков. Текст тикера ненадолго отображается в строке состояния сразу при срабатывании уведомления. Время ( "когда" поле) используется, чтобы показать пользователю, когда произошло уведомление.

Примечание. Хотя использование Notification.Builder может быть проще, оно доступно только в SDK уровня 11 и более поздних версий..

Шаг 3: Создание PendingIntent.

Уведомления могут вызывать намерение при нажатии. Для этого они используют объект PendingIntent. PendingIntent просто обертывает обычное намерение внутри объекта, так что другое приложение может отправить исходное намерение, как если бы это сделало ваше приложение. Когда пользователь нажимает на уведомление, мы просто хотим, чтобы приложение запустилось, поэтому создать этот объект PendingIntent очень просто:

Шаг 4: Подготовка события уведомления.

Событие уведомления, отображаемое по умолчанию, состоит из заголовка и некоторого информационного текста, чтобы сообщить пользователю, для чего предназначено уведомление. Событие также использует только что созданный объект PendingIntent. Мы загрузим текст в зависимости от того, были ли загрузка и синтаксический анализ успешными..

После загрузки текста метод setLatestEventInfo () обновляет уведомление самой последней информацией, которую вы хотите предоставить пользователю. Мы делаем это уведомление только один раз за загрузку (в отличие от предоставления статуса загрузки), но его можно использовать для отображения различных обновлений статуса по мере выполнения задачи..

Шаг 5: Уведомление пользователя.

Наконец, мы возвращаемся к объекту NotificationManager и используем его метод notify (), чтобы фактически показать уведомление пользователю (или обновить его, если оно изменилось)..

Первый параметр метода notify () — уникальный идентификатор приложения. Мы определили это в классе TutListDownloaderService как значение 100, хотя значение просто должно быть уникальным — и это потому, что у нас нет других уведомлений..

Вот и все для отображения простых уведомлений в строке состояния.

На следующем изображении показано, как выглядит уведомление. Он отображается, когда пользователь вручную загружает последние статьи или когда список автоматически обновляется ежедневно..

Заключение.

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

Похожие статьи