Цвет подсветки уведомлений Nexus 5

Я использую Nexus 5 (SDK 4.4.4) и пытаюсь отправлять уведомления разными цветами. Я попытался проверить цвета с помощью простого кода:

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

    NotificationManager notif = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    for (int i = 0; i < 8; i++) {
        notif.cancel(1); // clear previous notification
        final Notification notification = new Notification();
        if (i == 0){
            notification.ledARGB = Color.MAGENTA;
        }else if (i == 1){
            notification.ledARGB = Color.BLUE;
        }else if (i == 2){
            notification.ledARGB = Color.CYAN;
        }else if (i == 3){
            notification.ledARGB = Color.GRAY;
        }else if (i == 4){
            notification.ledARGB = Color.GREEN;
        }else if (i == 5){
            notification.ledARGB = Color.RED;
        }else if (i == 6){
            notification.ledARGB = Color.WHITE;
        }else if (i == 7){
            notification.ledARGB = Color.YELLOW;
        }
        notification.ledOnMS = 1000;
        notification.flags |= Notification.FLAG_SHOW_LIGHTS;
        notif.notify(1, notification);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Этот код должен отправлять уведомления 8 разных цветов. На самом деле мой мобильный телефон воспроизводит 3 цвета: синий, красный и пурпурный. Остальные цвета, кажется, не работают.

Конечно, другие цвета должны работать, так как приложению Light Flow удается отправлять уведомления с такими цветами, как зеленый и т. д.

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


person Jack    schedule 31.07.2014    source источник


Ответы (2)


Вы можете прочитать их: https://developer.android.com/preview/notifications.html , если вы посмотрите туда, то увидите, что Google не рекомендует менять цвет уведомления, они рекомендуют использовать прозрачный цвет, и я цитирую:

"Не

Используйте цвет, чтобы отличить свое приложение от других. Значки уведомлений должны быть только фоновым изображением белого цвета на прозрачном фоне. "

--EDIT-- моя ошибка, я не видел, чтобы вы хотели изменить цвет светодиода,

Но если вы хотите изменить только цвет светодиода, попробуйте использовать такие коды, как: notification.ledARGB = 0xFFff0000; для желаемых цветов.

person DAVIDBALAS1    schedule 31.07.2014
comment
Я не думаю, что ОП имеет в виду значки. - person Mike M.; 31.07.2014
comment
@МайкМ. Да, я заметил это сейчас и отредактировал свой ответ :) - person DAVIDBALAS1; 31.07.2014

Я снова попытался скомпилировать эту программу и нашел решение.

Для всех остальных, у которых такая же проблема, после того, как я запустил программу несколько раз, цвета начали отображаться, и после перезагрузки моего телефона эта программа теперь работает отлично.

person Jack    schedule 20.09.2014