NotificationListenerService иногда перестает работать

164
26 ноября 2018, 05:40

Не знаю при каких условиях, но иногда перестает работать мой сервис по отлову уведомлений.. Вот код:

public class NotificationsService extends NotificationListenerService {
    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {
        Log.d(Constants.LOG_TAG, "onNotificationPosted call");
        if (sbn != null) {
            final String packageName = sbn.getPackageName();
            if (!TextUtils.isEmpty(packageName)) {
                if (sbn.getNotification() != null && !TextUtils.isEmpty(sbn.getNotification().tickerText)) {
                    Intent intent = new Intent();
                    intent.setAction(Constants.ACTION_NOTIFICATION_MESSAGE);
                    intent.putExtra("data", sbn);
                    sendBroadcast(intent);
                    Log.d(Constants.LOG_TAG, "sendBroadcast: " + Constants.ACTION_NOTIFICATION_MESSAGE);
                }
            }
            Log.d(Constants.LOG_TAG, "onNotificationPosted " + packageName);
        }
    }
    @Override
    public void onNotificationRemoved(StatusBarNotification sbn) {
        // Nothing to do
    }
}

Можете что нибудь подсказать?

Answer 1

любой сервис может быт закрыт осью. Даже самый липучий прилипучий =) Допустим, системе не хватает памяти и она вычищает ваш вервис из памяти - вот он и перестает рабоатть. Есть способы которые повышают живучисть сервисов, но ни один из способов не гарантирует, что система не сможет убить ваш сервис. Можете почитать здесь: http://programador.ru/sticky-service/

READ ALSO
Чем можно заменить JavaFX

Чем можно заменить JavaFX

Прочитал о изменениях в java и немного испугалсяОдно из нововведений будет удаление JavaFX, как я понял удаление полное

183
Не могу протестировать Swing GUI c помощью AssertJ

Не могу протестировать Swing GUI c помощью AssertJ

Не могу протестировать GUI в своем приложении с помощью библиотеки AssertJЧтоб не выкладывать весь код своей программы, написал тестовую программу,...

179
Поиск файла на компьютере

Поиск файла на компьютере

Изучая работу класса File, стало интересно, есть ли у класса File какой-то метод для поиска файла на компьютере , если известно только имя файла...

156