Reliable way of retrieving StatusbarNotification details (title, notification text)

android, notifications, remoteview

Solution

With Android 4.4(KitKat), API Level 19 you can use Notification.extras attibute to get Notification title,text,....

http://gmariotti.blogspot.com/2013/11/notificationlistenerservice-and-kitkat.html

Problem

I'd like to get as much information out of a `StatusBarNotification`-object as possible. Right now, the only "reliable" information that can be accessed is the `tickerText`-property. I'm using the following code to get the notification's title and text via `RemoteViews`, but a lot of the time, the title and/or text will simply be null :-(: ``` //Get the title and text String mTitle = ""; String mText = ""; try { RemoteViews remoteView = sbn.getNotification().contentView; LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); ViewGroup localView = (ViewGroup) inflater.inflate(remoteView.getLayoutId(), null); remoteView.reapply(getApplicationContext(), localView); TextView tvTitle = (TextView) localView.findViewById(android.R.id.title); TextView tvText = (TextView) localView.findViewById(16908358); mTitle = (String)tvTitle.getText(); mText = (String)tvText.getText(); } catch (Exception e){ Log.e(TAG, "Error getting notification title/text: " + e); } ``` Is there any alternative (more reliable) way? I could "hand-code" the resource IDs for "popular" notifications like Gmail, SMS, etc., but this may break at any time when those apps are updated. Thanks!

Original source