Как показать разные значки для строки состояния и панели уведомлений в Android?

Я создаю уведомление по Android в соответствии с документацией по Android . Я использовал большой значок и маленький значок для панели уведомлений.

В этом случае маленькая иконка отображается как на панели состояния, так и на панели уведомлений . Я хочу показать разные значки для строки состояния и панели уведомлений, как я могу это достичь?

Для каждого есть разные API. Смотри ниже:

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

ИЛИ

В качестве альтернативы вы можете использовать настраиваемый макет уведомлений.

В документации ; Есть область уведомлений и ящик уведомлений, я думаю, что в вашем случае строка состояния означает область уведомлений. Вы можете использовать следующий код, чтобы создать уведомление, установив как маленький значок, так и большой значок.

 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"); 

Большой значок – это растровое изображение, которое отображается в ящике уведомлений, в области уведомлений отображается небольшая иконка, а также в ящике уведомлений в правом нижнем углу большого значка. Он должен быть полностью белым . Если маленький значок является ярким, он отображается как белый квадрат в области уведомлений.