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:)