Прослушиватель уведомлений Android 4.3.X

Я пытаюсь создать приложение, которое использует новый сервис Android, чтобы читать все уведомления, а также удалять их, но это не работает. В Манифесте у меня есть:

<service android:name="com.tortuga.shutapp.NotificationListener"
     android:label="@string/app_name"
     android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
    <intent-filter >
        <action android:name="android.service.notification.NotificationListenerService" />
    </intent-filter>
</service>

У меня есть класс NotificationListener, который расширяет NotificationListenerService. Я переопределяю два метода: onNotificationPosted(StatusBarNotification sbn), onNotificationRemoved(StatusBarNotification sbn).

Я дал ему разрешение в разделе Безопасность-> Доступ к уведомлению... Но я все еще не могу прочитать ни одно уведомление, которое появляется. В чем проблема?

Спасибо!

2 ответа

Решение

Android кэширует подшивку, возвращаемую из onBind, поэтому, если ваши действия очень похожи, и ваше приложение сначала связывается, то ваша подшивка будет возвращена системной вместо системной привязки (возвращается из super.onBind(intent)

К счастью, Android-ключ связывает кеш в зависимости от намеренного действия. Я хотел бы дать вашему намерению какое-то фиктивное действие, чтобы оно не смешивалось с системным. Я решил ту же проблему, сделав это. ПРИМЕЧАНИЕ: категорий недостаточно.

Убедитесь, что вы дали приложению разрешение на прослушивание уведомлений, снова включите его, чтобы восстановить службу

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