Постоянно работающий слушатель уведомлений - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь написать приложение, которое будет постоянно прослушивать любые входящие уведомления, а затем обрабатывать их. Я борюсь с первым препятствием создания слушателя уведомлений, который может работать постоянно, даже когда приложение находится в фоновом режиме. Любой совет, с чего начать, будет высоко ценится?

Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Вы должны использовать сервис для достижения этого.

Сервис, который получает вызовы от системы, когда новые уведомления публикуются или удаляются, или их рейтинг изменяется.

У вас должен быть класс обслуживания android, который реализует NotificationListener ()

class NotificationListenerService: NotificationListener() {
   override fun onBind(intent: Intent) {
      return super.onBind(intent)
   }

   override fun onNotificationPosted(sbn: StatusBarNotification) {
      // Implement what you want here
   }

   override fun onNotificationRemoved(sbn: StatusBarNotification) {
      // Implement what you want here
   }
}

Еще одна необходимая вещь, которую нужно сделать, - это указать ее в файле манифеста:

<service android:name=".NotificationListener"
      android:label="@string/service_name"
      android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
 <intent-filter>
     <action android:name="android.service.notification.NotificationListenerService" />
 </intent-filter>

Надеюсь, это поможет!

Для получения более подробной информации см .: https://developer.android.com/reference/android/service/notification/NotificationListenerService

...