Android NotificationListenerService изящно ухудшается для версий ниже 4.3

Есть ли способ сделать так, чтобы новый Android NotificationListenerService изящно деградировал до версий до 4.3?

Я думал, что если ОС не распознает службу, то она игнорируется в манифесте. Кажется, это не так. Следующее - то, что находится в манифесте.

        <service android:name=".services.NotificationListener"
            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
            <intent-filter>
                <action android:name=
                    "android.service.notification.NotificationListenerService" />
            </intent-filter>
        </service>

Спасибо!

1 ответ

Решение

Чтобы замкнуть этот цикл, проблема заключалась в том, что мы использовали инфраструктуру внедрения зависимостей, которая требовала, чтобы мы вставляли наши зависимости в сгенерированные файлы классов, а в случае NotificationListenerэтот класс недоступен для 4.3 и ниже, так что именно это и привело к сбою приложения.

Решение заключалось в создании прокси для NotificationListener и включение зависимостей в прокси, чтобы приложение работало для версий Android до и после 4.3:)

Другие вопросы по тегам