Les Notifications Android.Constructeur: afficher une notification sans icône
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
int icon = R.drawable.ic_notification_icon;
android.app.Notification.Builder nbuilder = new Notification.Builder(this);
nbuilder.setContentTitle(getString(R.string.notifcation_title,mProfile.mName));
nbuilder.setContentText(msg);
nbuilder.setOnlyAlertOnce(true);
nbuilder.setOngoing(true);
nbuilder.setSmallIcon(icon,level.level);
Comment puis-je masquer ou supprimer complètement le smallIcon? J'ai essayé de ne pas utiliser nbuilder.setSmallIcon, mais le résultat est que la notification n'est pas montré à tous!
Seul moyen que je connaisse est d'utiliser une image transparente pour l'icône, puis définissez l'ordre des notifications de sorte que la vôtre est la dernière (la plus à droite) qui permettra de faire apparaître à l'utilisateur comme s'il n'y a pas d'icône.
Pourquoi est-ce dans l'intérêt de l'utilisateur?
Un cas d'utilisation: Une communication application qui s'exécute dans la discrétion ne voulez que l'utilisateur de savoir quand un message arrive, mais vous ne voulez pas afficher les icônes d'application ou de toute icônes de sorte que les autres ne peuvent voir.
Pourquoi est-ce dans l'intérêt de l'utilisateur?
Un cas d'utilisation: Une communication application qui s'exécute dans la discrétion ne voulez que l'utilisateur de savoir quand un message arrive, mais vous ne voulez pas afficher les icônes d'application ou de toute icônes de sorte que les autres ne peuvent voir.
OriginalL'auteur user1071138 | 2013-04-23
Vous devez vous connecter pour publier un commentaire.
Sur Jelly Bean et plus tard, vous pouvez utiliser
nbuilder.setPriority(Notification.PRIORITY_MIN)
; l'interprétation exacte de ce niveau de priorité est laissée à l'INTERFACE utilisateur du système, mais dans PSBA cela provoque la notification de l'icône pour être caché.C'est prévu pour "ambiante" ou "arrière-plan" de l'information qui n'a pas besoin d'obtenir l'attention de l'utilisateur, mais si l'utilisateur se trouve être à fouiner dans le panneau de notification, elle pourrait être intéressée. Voir la Section Notifications de l'Android de Conception de site pour en savoir plus sur la façon d'utiliser au mieux la notification de priorité.
OriginalL'auteur dsandler
Mise à jour: ne pas utiliser sur Android 7, c'est s'écraser
L'aide de la réflexion, voici quelque chose qui travaille en Sucette (émulateurs et Moto G appareil) et de la Guimauve (émulateur)
Je ne pouvais pas trouver une meilleure façon.
Cela peut cesser de fonctionner du moment où ils changer l'id de la vue ou de modifier l'ensemble de la RemoteViews champs à l'intérieur de Notification, donc à utiliser à vos propres risques.
OriginalL'auteur Maragues
vous ne pouvez pas le faire... sans
setSmallIcon(icon,level.level);
de Notification ne s'affiche pas..OriginalL'auteur Dhawal Sodha Parmar
Vous pouvez définir votre propre mise en page sans l'icône:
RemoteViews notificationView = new RemoteViews(
context.getPackageName(),
R.layout.notify
);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContent(notificationView)
OriginalL'auteur Denis Dda
Essayer dans votre Notification générateur de l'ajout de cette ligne
.setPriority(Notification.PRIORITY_MIN)
Donc, votre avis sera comme ceci :
Notification notification = new Notification.Builder(this)
.setSmallIcon(R.drawable.stat_notify_chat)
.setContentTitle("my app")
.setContentText("my app ")
.setPriority(Notification.PRIORITY_MIN)
.setContentIntent(pendingIntent).build();
Dans ce Cas, vous pouvez voir votre icone dans la barre de Notification et se cacher dans la barre d'état . espérons que cette aide .
OriginalL'auteur Mohamed Hocine
J'ai été confronté à ce problème avant et résolu comme ça:
et il suffit d'appeler cette fonction dans
setSmallIcon()
OriginalL'auteur Malik Abu Qaoud