2012-04-27 62 views
6

Tôi đang sử dụng thông báo để cho phép người dùng hiện đang sử dụng dịch vụ. Bây giờ tôi muốn sử dụng đèn thông báo để nhắc nhở người dùng. (vì nó ưa thích)Đèn thông báo Android không hoạt động

Thông báo hoạt động tốt, nhưng đèn thông báo không làm gì cả. Các ứng dụng khác hoạt động tốt với đèn thông báo, (gtalk, facebook)

nó nhiều hay ít mã ví dụ cho thông báo với bổ sung các cờ:

notification.ledARGB = 0xff00ff00; 
notification.ledOnMS = 100; 
notification.ledOffMS = 100; 
notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

notification.flags |= Notification.FLAG_NO_CLEAR + Notification.FLAG_ONGOING_EVENT; 
mNotificationManager.notify(NOTIFICATION_ID, notification); 

notification.defaults |= Notification.DEFAULT_LIGHTS; 

thay doesn không làm việc.

tôi gỡ lỗi trên Galaxy Nexus với Android 4.0, nhưng mục tiêu của ứng dụng là Android 2.3.3

EDIT: này có thể là một vấn đề của sự cho phép? Nếu có, cái nào? Tôi nhìn qua tất cả và thấy không có sự cho phép phù hợp với ánh sáng thông báo.

+0

buộc "bạn có chắc bạn có quyền chính xác cho các đèn thông báo" – antlersoft

+0

câu hỏi hay, đã tôi có được không? – trichner

+0

Trong tệp AndroidManifes.xml –

Trả lời

2

Tôi nghĩ rằng có một lỗi với toán tử +, bạn cần OR:

notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; 

EDIT: và nếu bạn đang sử dụng cờ, tôi nghĩ ngay là người nên là:

notification.flags |= Notification.FLAG_SHOW_LIGHTS 
+0

Nó không phải là một lỗi, nó là một tính năng! Đó là Bits để thiết lập, cộng với hoạt động tốt. Vì mỗi lá cờ là một bit khác, bạn sẽ không bao giờ bị mang theo. Nhưng OR sẽ hoạt động tốt. FLAG_SHOW_LIGHTS được thiết lập, như bạn thấy trong khóa mã trên, theo tài liệu không cần thiết nếu bạn sử dụng cờ DEFAULT_LIGHTS. – trichner

+0

Câu trả lời này đã sửa nó cho tôi .. cảm ơn nax –

2

Trên các thiết bị đậu thạch, chỉ hoạt động nếu mức độ ưu tiên thông báo được đặt thành tối đa hoặc mặc định, vui lòng kiểm tra lại. Đoạn mã sau đang hoạt động tốt cho tôi trên các thiết bị jb.

notification.setLights(0xFF0000FF,100,3000); 
notification.setPriority(Notification.PRIORITY_DEFAULT); 

Ở đây tôi hiển thị màu xanh lam cho thông báo sẽ tiếp tục trong 100 mili giây và tắt cho 3000 mili giây cho đến khi người dùng mở thiết bị của anh ấy.

Và kiểm tra xem bạn đang sử dụng NotificationCompat (tương thích) lớp hơn bỏ qua phương pháp setDefaults và sử dụng SetLight, SetSound, Setvibration, vv

Các vấn đề liên quan