สีของไฟแจ้งเตือน 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 ไม่แนะนำให้เปลี่ยนสีของการแจ้งเตือน พวกเขาแนะนำให้ใช้สีโปร่งใส และฉันเสนอราคา:

"อย่า

ใช้สีเพื่อแยกแยะแอปของคุณจากแอปอื่นๆ ไอคอนการแจ้งเตือนควรเป็นภาพพื้นหลังสีขาวบนพื้นโปร่งใสเท่านั้น "

--แก้ไข-- ความผิดพลาดของฉัน ฉันไม่เห็นคุณต้องการเปลี่ยนสีไฟ LED

แต่ถ้าคุณต้องการเปลี่ยนสี LED ให้ลองใช้รหัสเช่น : notification.ledARGB = 0xFFff0000; สำหรับสีที่คุณต้องการ

person DAVIDBALAS1    schedule 31.07.2014
comment
ฉันไม่คิดว่า OP อ้างถึงไอคอน - person Mike M.; 31.07.2014
comment
@ไมค์เอ็ม. ใช่ ฉันสังเกตเห็นแล้วและแก้ไขคำตอบของฉัน :) - person DAVIDBALAS1; 31.07.2014

ฉันพยายามคอมไพล์โปรแกรมนี้อีกครั้งและพบวิธีแก้ปัญหา

สำหรับคนอื่นๆ ที่ประสบปัญหาเดียวกัน หลังจากที่ฉันรันโปรแกรมหลายครั้ง สีก็เริ่มแสดง และหลังจากรีสตาร์ทโทรศัพท์ โปรแกรมนี้ทำงานได้อย่างสมบูรณ์แบบแล้ว

person Jack    schedule 20.09.2014