Цвет фона уведомления после обработки - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь установить цвет для своего уведомления в Android Pie, но, следуя информации на Android Developers , я не могу заставить его работать, т.е. уведомление остается белым.Вот мой код:

public class MainActivity extends AppCompatActivity {

int mColor = Color.CYAN;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void sendNotification(View view) {
    NotificationChannel notificationChannel = new NotificationChannel("1", "1", NotificationManager.IMPORTANCE_DEFAULT);
    notificationChannel.setDescription("Test Notifications");

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationManager.createNotificationChannel(notificationChannel);

    Notification.Builder builder = new Notification.Builder(this, "1");
    builder.setSmallIcon(R.mipmap.ic_launcher_round)
            .setContentText("Test Notification")
            .setColorized(true)
            .setColor(mColor);

    NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
    notificationManagerCompat.notify(1, builder.build());

}

Буду признателен за некоторые указания на это, спасибо!

1 Ответ

0 голосов
/ 08 декабря 2018

Метод, на который вы ссылаетесь, гласит:

Для большинства стилей раскраска будет применяться, только если уведомление предназначено для уведомления службы переднего плана .Однако для уведомлений Notification.MediaStyle и Notification.DecoratedMediaCustomViewStyle, к которым подключен медиа-сеанс, такого требования нет.

Если вы не используете MediaStyle или DecoratedMediaCustomViewStyle для своего Уведомления, вы не можете установить цвет с помощьюобычный вызов notify().

Если вы не можете использовать ни один из этих стилей, тогда это уведомление должно быть частью Сервиса, где вы передаете его в startForeground().

...