2013-02-19 63 views
8

Tôi đang cố gắng sử dụng Thông báo cũng sử dụng đèn LED thông báo trên S3 của tôi, nhưng vì một số lý do, màu sẽ luôn xanh dương (tôi đoán đó là mặc định?). Tôi đã cố gắng sử dụng các màu khác nhau nhưng không có gì thay đổi. Các ứng dụng khác (như Whatsapp, Gmail và Facebook không có vấn đề gì khi hiển thị đèn màu khác).Đèn LED thông báo của Android không sử dụng màu của tôi

Notification.Builder noteBuilder = new Notification.Builder(context) 
       .setAutoCancel(true) 
       .setPriority(Notification.PRIORITY_DEFAULT) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentTitle(ContentTitle) 
       .setContentText(ContentText) 
       .setLights(Color.YELLOW, 500, 500) 
       ; 

Intent noteIntent = new Intent(context,HoofdScherm.class); 
PendingIntent notePendingIntent = PendingIntent.getActivity(context, 0, noteIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
noteBuilder.setContentIntent(notePendingIntent); 

Notification note = noteBuilder.build(); 
note.ledARGB = Color.YELLOW; 
NotificationManager mgr = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
mgr.notify(0,note); 
+0

mặc dù màu thiết lập của LED là một phần của API nhưng nó hoạt động rất khác trên hầu hết các thiết bị và nó không hoạt động trên mọi thiết bị. Một số sử dụng màu chính của biểu tượng trình chạy của ứng dụng, một số sử dụng loại thông báo/mức độ ưu tiên. –

+0

bất kỳ thay đổi nào nếu bạn không đặt mức độ ưu tiên? Ngoài ra, vì bạn đang thay đổi thông báo sau khi xây dựng, bạn nên thêm tất cả các bước để tạo đèn LED ở đó, quá 'notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags | = Notification.FLAG_SHOW_LIGHTS; ' –

+0

Tôi đã cố gắng thay đổi mức độ ưu tiên (tôi đã sử dụng DEFAULT, HIGH và I alzo đã không cố thiết lập nó). Nó không tạo ra sự khác biệt. Tiếp theo, tôi sẽ cố gắng sử dụng một biểu tượng khác, nhưng tôi không nghĩ rằng nó sẽ tạo ra sự khác biệt vì các ứng dụng như trình quản lý ánh sáng có thể đặt màu thông báo trên S3 của tôi. –

Trả lời

11

Bạn cần chắc chắn rằng tất cả các giá trị mặc định được ghi đè bằng cách thiết lập

notification.defaults = 0;

+0

điều này dường như không làm việc cho tôi. bạn đang đặt giá trị mặc định là 0 ở đâu? sau 'Note note = noteBuilder.build();' nhưng trước 'note.ledARGB = Color.YELLOW;'? tôi có ưu tiên đặt ở mức tối đa và tôi đang thử nghiệm trên một mối quan hệ 5. – toobsco42

+0

Vì vậy, tôi đã phát hiện ra sự cố của mình là thiết bị của tôi không ở chế độ ngủ. Bạn phải đảm bảo khay thông báo chưa được kéo xuống (tức là người dùng không nhìn thấy thông báo đó). Đèn LED sẽ chỉ nhấp nháy trong trường hợp này. http://stackoverflow.com/questions/3297835/how-can-i-enable-vibration-and-lights-using-the-android-notifications-api – toobsco42

-1

Có một cái nhìn về nguồn dưới đây. Làm việc hoàn hảo trên S3:

NotificationCompat.Builder mBuilder = 
       new NotificationCompat.Builder(ctx) 
         .setPriority(Notification.PRIORITY_HIGH) 
         .setSmallIcon(getNotificationIcon()) 
         .setColor(0xff493C7C) 
         .setContentTitle(ctx.getString(R.string.app_name)) 
         .setContentText(msg) 
         .setDefaults(Notification.DEFAULT_SOUND) 
         .setLights(0xff493C7C, 1000, 1000) 
         .setStyle(new NotificationCompat.BigTextStyle().bigText(styledMsg)); 
Các vấn đề liên quan