it-swarm.com.de

So lesen Sie alle kommenden Benachrichtigungen in Android

So lesen Sie alle kommenden Benachrichtigungen in Android. Ist es möglich, den Broadcast-Empfänger zu verwenden, um die eingehenden Benachrichtigungen abzuhören und die Benachrichtigungsinformationen lesen zu können. 

31
Adham

Zunächst müssen Sie Ihre Absicht, Benachrichtigungen in Ihrem Manifest zu erhalten, erklären, damit Sie die Android.permission.BIND_NOTIFICATION_LISTENER_SERVICE-Berechtigung erhalten können.

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>

Erstellen Sie dann eine NotificationListenerService-Klasse und überschreiben Sie die onNotificationPosted-Funktion.

Weitere Informationen finden Sie in der Entwicklerreferenz hier: https://developer.Android.com/reference/Android/service/notification/NotificationListenerService.html

Schauen Sie sich auch diese einfache Beispielanwendung für die Implementierungsanleitung an: https://github.com/kpbird/NotificationListenerService-Example/

23
Monban

Mit NotificationListenerService können wir die Benachrichtigung aller Anwendungen problemlos lesen. Den vollständigen Demo-Code finden Sie hier

13
Mukesh Y

Sie müssen dies in onNotificationPosted tun, um alle Nachrichten abzurufen

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