2012-07-07 5 views
10

Ich würde gerne wissen, wie man eine Benachrichtigung erstellt, die das Symbol in der Statusleiste nicht zeigt.Wie erstelle ich eine Benachrichtigung ohne Icon in der Statusleiste oder verstecke sie einfach?

Es gibt eine Möglichkeit, es zu verstecken?

+0

Verwendung transparentes Bild dann .. –

+0

set icon = 'null' – MAC

+0

Sie meinen Sie nur den Benachrichtigungstext oder nichts wollen überhaupt in der Benachrichtigungsleiste, aber nur, wenn Sie es nach unten ziehen? – Alabhya

Antwort

-1

Sie können dies tun, indem Sie ein transparentes Gesamtbild verwenden und dieses als Ihr Symbol verwenden. :)

+0

Danke, aber ich möchte keinen Platz in der Statusleiste nehmen. Vielleicht gibt es keinen Weg ... – Meroelyth

29

Seit Android 4.1 (API-Ebene 16) ist es möglich, eine Benachrichtigung priority anzugeben. Wenn Sie dieses Flag auf PRIORITY_MIN setzen, wird das Benachrichtigungssymbol nicht in der Statusleiste angezeigt.

notification.priority = Notification.PRIORITY_MIN; 

Oder im Fall, dass Sie ein Notification.Builder:

builder.setPriority(Notification.PRIORITY_MIN); 

Ab Android 8.0 Oreo (API-Ebene 26) haben Sie die importance der Mitteilung des NotificationChannel-IMPORTANCE_MIN einzustellen:

NotificationChannel channel = 
     new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN); 
notificationManager.createNotificationChannel(channel); 
... 
builder.setChannelId(channel.getId()) 
+1

Funktioniert es auf Android 8+ mit seinem neuen Benachrichtigungskanalsystem? – kolombo

+0

Funktioniert nicht mit Android 8+ –

+0

@KoenVanLooveren Ich habe den Beitrag aktualisiert, um die erforderliche Einstellung für Android 8+ – Floern

-2

ther Es ist nicht möglich, eine Benachrichtigung ohne Symbol anzuzeigen.

You can use transparent image. But, it take space of icon. 

@CommonsWare: Da der primäre Punkt eine Mitteilung über die Erhöhung ist ein Symbol in der Statusleiste zu setzen, gibt es normalerweise keine Notwendigkeit, kein Symbol in der Statusleiste zu setzen, es sei denn, es ist interaktiv, wie als eine Toggle- oder Informationsbenachrichtigung, die immer ausgeführt wird und Sie möglicherweise auf dem Pull-down möchten, aber kein Symbol verwendet.

check this answer for more detail.

3

.setPriority mit dem Parameter PRIORITY_MIN wird dies möglich machen.

NotificationCompat notification = new NotificationCompat.Builder(this) 
       .setContentTitle(getString(R.string.app_name)) 
       .setContentText(getString(R.string.notification_text)) 
       .setSmallIcon(R.mipmap.ic_launcher) 

       //Show the notification only in NotificationDrawer. 
       //Notification will not be shown on LockScreen as well as Hidden Icon on StatusBar. 
       .setPriority(Notification.PRIORITY_MIN) 

       .build(); 
+1

Was ist die Antwort von @Floern? –

+0

@VladMatvienko Mine ist ein vollständiger Code für den Fall, dass ein neuer Lernender es benötigt. – zackygaurav

+0

Es war gestern nicht, bis du es 27 min bearbeitet hast. vor –

Verwandte Themen