Die Frage ist, wie Sie das TEXT (nicht Titel) Feld aller eingehenden Benachrichtigungen erhalten, wenn sie gestapelt werden (wie in WhatsApp).So erhalten Sie Text von gestapelten Benachrichtigungen in Android
public class NLService extends NotificationListenerService {
public void onNotificationPosted(StatusBarNotification sbn) {
Log.v(Constants.TAG_notifs,
"------------------------- in onNotificationPosted(), Notification Text = "
+ sbn.getNotification().tickerText);
Bundle extras = sbn.getNotification().extras;
if (extras.containsKey("android.text")) {
if (extras.getCharSequence("android.text") != null) {
String text = extras.getCharSequence("android.text").toString();
Log.v(Constants.TAG_notifs,
"------------------------- in onNotificationPosted(), Bundle.text != NULL, so here it is = "
+ text);
}
}
if (extras.containsKey("android.title")) {
Log.v(Constants.TAG_notifs,
"------------------------- in onNotificationPosted(), Bundle android.title = "
+ extras.getString("android.title"));
}
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
//super.onNotificationRemoved(sbn);
}
} Das erste Mal, wenn eine Whatsapp Benachrichtigung von einem einzelnen Benutzer kommt diese Zeile (String text = extras.getCharSequence ("android.text") toString();.) ist erfolgreich in der Lage zu lesen Text, aber danach, wenn mehr Nachrichten kommen und Benachrichtigungen gestapelt werden (wie im Bild oben gezeigt), ist die Variable Text immer NULL.
Dies muss möglich sein, weil this app tut es, getestet es. Es erhält den Text jeder einzelnen App.
Added Incentive: Wenn Sie die Antwort oder Dinge wissen, um zu versuchen, es ist eine andere Frage, die here ähnliche Frage aussieht.
Wenn die zweite Benachrichtigung (sagen wir von A in Ihrem Beispiel) kommt 'sbn.getNotification(). Extras.getCharSequence (Notification.EXTRA_TEXT) .toString(); ' ist NULL, dort ist nichts. Siehst du es nicht auch NULL? Ich versuche es in Kitkat, API = 19 – user1406716
Ich bin mir nicht sicher, ob das wahr ist, könnten Sie auch auf die vorherigen Benachrichtigungen näher eingehen ?: * Auf diese Weise, wenn neue Absender-Nachricht kommt, PreVoud Benachrichtigungen auch kommt und wir bekommen Callback in NotificationListener * " – user1406716
Für KitKat sollte es gut mit AccessibilityService funktionieren .. Versuchen Sie, diesen Service Callback zu verwenden. In meinem Fall war AccessibilityService bis (<= KitKat) gut, also pls überprüfen Sie mit – Kushal