Просто возьмите этот репозиторий github в качестве ссылки.https://github.com/mukesh4u/NotificationListener
Поскольку вызов функции getActiveNotifications()
в методе onCreate()
класса NotificationService
возвращает ноль, оператор
StatusBarNotification notifications[] = getActiveNotifications();
присваивает нулевой массив для notifications
.
Из-за этого при вставке следующего кода в метод onCreate()
класса NotificationService
StatusBarNotification notifications[] = getActiveNotifications();
for(StatusBarNotification item : notifications)
{
if(item != null)
{
Bundle extras = item.getNotification().extras;
String title = extras.getString("android.title");
Log.i("Title", title);
}
}
происходит сбой приложения с сообщением
Попытка получить длину нулевого массива
и остановка NotificationListenerService
, который был запущен ранее.
Один раз, если он остановился, запустив приложение снова переопределенными методамиonCreate()
, onNotificationPosted(StatusBarNotification sbn)
и onNotificationRemoved(StatusBarNotification sbn)
в классе NotificationService
больше не вызывают.
Есть ли способ заставить их работать, снова запустив приложение, просто внеся некоторые изменения в кодеили путем внесения некоторых изменений в настройки или конфигурацию приложения, без необходимости повторного удаления и переустановки приложения или необходимости блокировать приложение от прослушивания уведомлений и не допускать его прослушивания.снова показания?