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

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