6

我的應用程序中的通知欄僅顯示股票代碼中的小圖標(因爲它應該)。但是,當「陰影」被拉下時,它會同時顯示來自股票行情的小圖標以及我在Notification.Builder中設置的大圖標。這是我的代碼:通知欄顯示大圖標和小圖標

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; 
     } 
} 

我不知道爲什麼會發生這種情況。有任何幫助?

+1

你能後的截圖放到你看到什麼? – CommonsWare

+0

當然,一秒鐘... http://imgur.com/07lxg – D4N14L

+1

我假設你是MintChip。我不太確定你爲什麼得到這種效果。這是什麼設備?請注意,雖然你的問題說你正在使用'Notification.Builder',你的代碼卻不是。你可以考慮從Android支持項目中使用'NotificationCompat.Builder',看看是否有幫助。 – CommonsWare

回答

11

我認爲這裏的問題可能是你沒有使用Notificaiton.Builder類。這裏是(你將不得不雖然插入自己的變量,並設置您使用諸如振動等性能),你可以做一個小例子:

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

完美工作:) – D4N14L

+1

我無法在Android4.04中編譯'nb.build()',我使用nb.getNotification()代替。 – herbertD

+0

如果我使用股票文本,哪個圖標用於它?以及我如何定製它,併爲通知本身使用不同的一個? –

7

另一個問題我在運行Android Lollipop的是,小圖標顯示在大圖標旁邊。要解決它 - 只是不要設置大圖標!只使用小圖標設置。

+1

但我想同時使用。任何方式來做到這一點? – vedant1811

+0

如果您設置了兩個圖標,則兩者都會出現。 – ravyoli

+3

請參閱http://stackoverflow.com/a/33943309/218473關於如何隱藏小圖標 – Maragues