web-dev-qa-db-fra.com

Comment lire toutes les notifications à venir dans Android

Comment lire toutes les notifications à venir dans Android. Est-il possible d'utiliser le récepteur de radiodiffusion pour écouter les notifications entrantes et la possibilité de lire les informations de notification? 

31
Adham

Tout d'abord, vous devez déclarer votre intention de recevoir des notifications dans votre manifeste, afin de pouvoir obtenir l'autorisation 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>

Créez ensuite une classe NotificationListenerService et remplacez la fonction onNotificationPosted.

Pour plus d'informations, lisez la référence de développeur ici: https://developer.Android.com/reference/Android/service/notification/NotificationListenerService.html

Regardez également cet exemple d'application simple pour obtenir des instructions de mise en œuvre: https://github.com/kpbird/NotificationListenerService-Example/

23
Monban

En utilisant NotificationListenerService, nous pouvons facilement lire la notification de toutes les applications. Vérifiez le code de démo complet ici

13
Mukesh Y

Vous devez faire comme ceci dans onNotificationPosted pour recevoir tous les messages

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

            }
        }
    }
0
Rohit269