这个需求也是只能在源码上修改,有源码修改就比较简单:
最终通知图标是在NotificationIconAreaController中控制显示的,
只要在updateNotificationIcons 中控制不在add 这个notification就可以了。
主要问题点集中在如何快速分辨出哪个notification是我们需要屏蔽的,时间紧急,目前的思路是根据显示图标的资源号来界定的。我这里面通知就是systemui发出的,所以能很快拿到资源号。
我觉得其他进程可以与systemui约定一个系统资源号,这样也能快速定位到该notification。写的匆忙,只是提供思路和快速路径。
// Filter out ambient notifications and notification children.
for (int i = 0; i < size; i++) {
NotificationData.Entry ent = activeNotifications.get(i);
if(ent.notification.getPackageName().equals("com.android.systemui")
&& (ent.notification.getNotification().icon == R.drawable.ic_qs_headset_display_on)){
continue;
}
网友评论