Android12 bloque l'affichage des notifications au premier plan en fonction du nom du package

Une nouvelle fonctionnalité d'Android O est que le système affichera dans la barre de notification les applications en cours d'exécution en arrière-plan. Il affiche en fait les applications qui ont démarré le service de premier plan, et l'activité de l'application actuelle n'est pas au premier plan.

Il est nécessaire de bloquer l'affichage des notifications au premier plan des applications individuelles.

La première chose qui vient à l'esprit est de distinguer s'il faut l'afficher en fonction du nom du package. Après avoir analysé le code, localisez l'endroit modifié :

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationFilter.java

                || showNotificationEvenIfUnprovisioned(sbn))) {
            return true;
        }

        
 +       if("com.xxx.xxx".equals(sbn.getPackageName())) {
 +       	return true;
 +       }
        
        if (!mKeyguardEnvironment.isNotificationForCurrentProfiles(sbn)) {
            return true;
        }

Tests disponibles.

おすすめ

転載: blog.csdn.net/guanmingyuangmy/article/details/130654683