5

Ich erstelle eine Android-Benachrichtigung gemäß android documentation. Ich habe ein großes Symbol und ein kleines Symbol für die Benachrichtigungsleiste verwendet.Wie zeigen Sie verschiedene Symbole für Statusleiste und Benachrichtigungsleiste in Android?

In diesem Fall wird ein kleines Symbol sowohl auf Statusleiste und Benachrichtigungsleiste angezeigt. Ich möchte verschiedene Symbole für Statusleiste und Benachrichtigungsleiste anzeigen, wie kann ich das erreichen?

Antwort

2

Es gibt verschiedene APIs für jeden. Siehe unten:

Notification.Builder nb = new Notification.Builder(context) 
    .setContentTitle("title") 
    .setContentText("content") 
    .setAutoCancel(true) 
    .setLargeIcon(largeIcon) 
    .setSmallIcon(R.drawable.small_icon) 
    .setTicker(s.getText()); 

http://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#setSmallIcon%28int%29

http://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#setLargeIcon%28android.graphics.Bitmap%29

ODER

Als Alternative können Sie eine benutzerdefinierte Benachrichtigung Layout verwenden könnte.

+0

Ja, ich habe eine Benachrichtigung erstellt, wie Sie sie beschrieben haben. Aber diese Methode ".setSmallIcon (R.drawable.small_icon)" ist ein kleines Symbol in der Benachrichtigungsleiste UND in der Statusleiste. Ist das richtig ? Wenn ja, möchte ich iconA.png für das Symbol der Statusleiste und iconB.png für das kleine Symbol in der Benachrichtigungsleiste verwenden. Wie kann ich das tun? – james

+0

Nein. Wenn Sie Symbol Nr.5 in der Verknüpfung gemeint haben. Es wird das gleiche sein –

+0

so gibt es keine Möglichkeit, ein anderes Symbol dafür zu verwenden? Nur kleines Symbol wird sowohl in der Statusleiste als auch in der Benachrichtigungsleiste angezeigt. – james

7

In the documentation; Es gibt einen Infobereich und eine Benachrichtigungsleiste, ich denke in Ihrem Fall bedeutet Statusleiste den Infobereich. Sie können den folgenden Code verwenden, um eine Benachrichtigung zu erstellen, indem Sie sowohl das kleine Symbol als auch das große Symbol festlegen.

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_icon); 
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.logo).setLargeIcon(bm).setContentTitle("title").setContentText("body"); 

Large Symbol ein Bitmap ist, und es wird in Benachrichtigung Schublade kleines Symbol wird in Benachrichtigungsbereich, sondern auch in der Benachrichtigungs Schublade, in der unteren rechten Ecke des großen Symbols dargestellt. It must be entirely white. Wenn das kleine Symbol bunt ist, wird es im Infobereich als weißes Quadrat angezeigt.

+0

Wie macht man das kleine Symbol ** ganz weiß **? –

+1

@HammadNasir einfach in Ihrem Android Studio klicken Sie auf neue Bild Assets dann wählen Sie Symbol für Benachrichtigung und Statusleiste dann wählen Sie Ihr Bild und Android Studio wird die richtigen Symbole erstellen. – mhdjazmati