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!
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With