Android: получать все уведомления по коду
Я использую некоторую домашнюю замену, которая позволяет мне скрыть панель уведомлений и что-то, что мне действительно нравится.
Вся информация может быть заменена некоторыми виджетами, но я также хотел бы отображать уведомления.
Как я уже разработал некоторые приложения, я хотел бы знать, есть ли командная строка, позволяющая приложению получать все уведомления. Я планирую добавить это в виджет или тост.
Большое спасибо за любую подсказку или помощь.
Ответы
Ответ 1
Начиная с Android API уровня 18 (Android 4.3) существует класс NotificationListenerService.
Вы должны установить разрешение BIND_NOTIFICATION_LISTENER_SERVICE и использовать фильтр намерений с действием NotificationListenerService.
<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>
</service>
Источник: http://developer.android.com/reference/android/service/notification/NotificationListenerService.html#getActiveNotifications()
Ответ 2
Я отвечу на свой вопрос, потому что нашел что-то на другом форуме.
Понятно, что вы можете получить к ним доступ, заявив свое приложение как (извините за французский термин, я не смог найти перевод на английский язык) "gestionnaire d'accessibilité", который вы можете перевести как "диспетчер доступности"
Дополнительная информация здесь: https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html
Это может быть опасно и имеет много негативных моментов, но другой разработчик, который также работает над обычным Домом, уверяет меня, что эта функция работает, и он смог создать свою собственную панель уведомлений.