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.
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/
Mit NotificationListenerService können wir die Benachrichtigung aller Anwendungen problemlos lesen. Den vollständigen Demo-Code finden Sie hier
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*/
}
}
}