我正在使用NotificationListenerService
来检索通知中的信息。实际上我只能在textview中显示我在通知栏中看到的最后一个通知。我希望,如果可能的话,过滤此方法并仅显示whatsapp通知。我可以获取包名称并将其显示在LOG中,但我不知道我是否使用过滤器。这是NotificaionListenerService
public void onNotificationPosted(StatusBarNotification sbn) {
Notification mNotification=sbn.getNotification();
if (mNotification!=null){
Bundle extras = mNotification.extras;
Intent intent = new Intent(MainActivity.INTENT_ACTION_NOTIFICATION);
intent.putExtras(mNotification.extras);
sendBroadcast(intent);
TAG = "onNotificationPosted";
Log.i(TAG,"Package Name" + sbn.getPackageName());
Notification.Action[] mActions=mNotification.actions;
if (mActions!=null){
for (Notification.Action mAction:mActions){
int icon=mAction.icon;
CharSequence actionTitle=mAction.title;
PendingIntent pendingIntent=mAction.actionIntent;
}
}
}
}
其中我可以看到创建通知的应用程序的包名称。是否有我必须制作过滤器?我该怎么做?感谢
答案 0 :(得分:0)
就像这样简单:
if("com.the.package.name.you.want.to.filter".equals(sbn.getPackageName())) {
//Do something
}
或者如果有多个,您可以将它们放在散列映射或列表中,并查看是否包 在哪里。