Как да прочетете всички идващи известия в android

Как да прочетете всички идващи известия в android. Възможно ли е да използвате излъчващия приемник за прослушване на входящите известия и възможност за четене на информацията за известия.


person Adham    schedule 26.05.2013    source източник
comment
Можете да разгледате AccessibilityService, вижте developer.android.com/training/ достъпност/ или stackoverflow.com /questions/14540394/   -  person Robe Elckers    schedule 26.05.2013


Отговори (3)


Първо трябва да декларирате намерението си да получавате известия във вашия манифест, за да можете да получите разрешението android.permission.BIND_NOTIFICATION_LISTENER_SERVICE.

AndroidManifest.xml:

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

След това създайте клас NotificationListenerService и заменете функцията onNotificationPosted.

За повече информация прочетете препратката за разработчици тук: https://developer.android.com/reference/android/service/notification/NotificationListenerService.html

Вижте също това просто примерно приложение за насоки за внедряване: https://github.com/kpbird/NotificationListenerService-Example/

person Monban    schedule 12.01.2014
comment
Забележка: Това работи, но не работи за текстовото поле на подредените известия. - person user1406716; 31.03.2015
comment
Този пример не работи за мен, имам разрешение за известяване, но все още не показва никакъв списък - person Bhanu Sharma; 07.07.2016
comment
Кажете, възможно ли е също по този начин да конвертирате всички известия в такива без хедс-ъп известия - person android developer; 21.09.2016
comment
възможно ли е да се прочете вече съществуващо известие или просто ново, което ще дойде? - person Ewoks; 27.01.2017
comment
работи в marshmallow, но грешка в 8.0 с notificationChannel - person Sunil Chaudhary; 14.11.2018

С помощта на NotificationListenerService можем лесно да прочетем известията за всички приложения. Проверете пълния демо код тук< /a>

person Mukesh Y    schedule 31.05.2015
comment
Благодаря за линка - person CopsOnRoad; 11.03.2018
comment
това разрешение е достъпно само за системни приложения - person nikoss; 28.06.2020

Трябва да направите това в onNotificationPosted, за да получите всички съобщения

if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)){
        Parcelable b[] = (Parcelable[]) extras.get(Notification.EXTRA_MESSAGES);

        if(b != null){

            for (Parcelable tmp : b){

                Bundle msgBundle = (Bundle) tmp;
                content = content + msgBundle.getString("text") + "\n";

            /*Set<String> io = msgBundle.keySet(); // To get the keys available for this bundle*/

            }
        }
    }
person Rohit269    schedule 26.07.2018