6

Die Benachrichtigungsleiste in meiner Anwendung zeigt nur das kleine Symbol im Ticker (wie es sollte). Wenn der "Schatten" jedoch nach unten gezogen wird, zeigt er sowohl das kleine Symbol aus dem Ticker als auch ein großes Symbol, das ich im Notification.Builder eingestellt habe. Hier ist mein Code:Benachrichtigungsleiste zeigt sowohl große als auch kleine Symbole

if (Build.VERSION.SDK_INT > 10){ 
      notification = new Notification(R.drawable.ic_stat_mintchip, 
        "This is a test", 
        System.currentTimeMillis()); 
      notification.largeIcon = (((BitmapDrawable)c.getResources().getDrawable(R.drawable.ic_launcher)).getBitmap()); 
      notification.defaults |= Notification.DEFAULT_ALL; 
      notification.number += 1; 
      notification.flags |= Notification.FLAG_AUTO_CANCEL; 

     } else { 
      notification = new Notification(R.drawable.ic_stat_mintchip, 
        "This is a test", 
        System.currentTimeMillis()); 

       notification.flags |= Notification.FLAG_AUTO_CANCEL; 
       notification.defaults |= Notification.DEFAULT_ALL; 
       notification.number += 1; 
     } 
} 

Ich weiß nicht genau, warum das passiert. Irgendwelche Hilfe?

+1

Können Sie einen Screenshot irgendwo von Post, was Sie sehen? – CommonsWare

+0

Sicher, eine Sekunde ... http://imgur.com/07lxg – D4N14L

+1

Ich nehme an, dass Sie MintChip sind. Ich bin nicht ganz sicher, warum Sie diesen Effekt erzielen. Welches Gerät ist das? Beachten Sie, dass Ihre Frage besagt, dass Sie "Notification.Builder" verwenden, Ihr Code jedoch nicht. Sie könnten 'NotificationCompat.Builder' aus dem Android Support-Projekt verwenden und prüfen, ob das hilft. – CommonsWare

Antwort

11

Ich denke, das Problem hier ist möglicherweise, dass Sie nicht die Notificaiton.Builder-Klasse verwenden. Hier ist ein kleines Beispiel dafür, was man tun könnte (Sie müssten Ihre eigenen Variablen obwohl einzufügen, und legen Sie die anderen Eigenschaften, die Sie wie eine Vibration verwendet):

Notification.Builder nb = new Notification.Builder(context) 
    .setContentTitle("title") 
    .setContentText("content") 
    .setAutoCancel(true) 
    .setLargeIcon(largeIcon) 
    .setSmallIcon(R.drawable.small_icon) 
    .setTicker(s.getText()); 
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
nm.notify(100, nb.build()); 
+0

Arbeitete perfekt :) – D4N14L

+1

Ich kann die 'nb.build()' in Android4.04 nicht kompilieren, ich benutze stattdessen nb.getNotification(). – herbertD

+0

Wenn ich einen Tickertext verwende, welches Symbol wird dafür verwendet? und wie kann ich es anpassen und ein anderes für es und ein anderes für die Benachrichtigung selbst benutzen? –

7

Ein weiteres Problem, das ich in Android Lollipop hatte, dass das ist neben dem großen Symbol wurde ein kleines Symbol angezeigt. Um es zu lösen - setze einfach nicht das große Icon! Verwenden Sie nur die kleine Symboleinstellung.

+1

Aber ich möchte beide verwenden. Irgendeine Möglichkeit, das zu tun? – vedant1811

+0

Wenn Sie beide Symbole festlegen, werden beide angezeigt. – ravyoli

+3

siehe http://stackoverflow.com/a/33943309/218473 zum Ausblenden des kleinen Symbols – Maragues

Verwandte Themen