Обновление: я перерабатываю оригинальное сообщение для совместимости перед Android 3.0.
Я пытаюсь создать простое уведомление, и все, кроме света, отлично работает. У меня есть экран, когда срабатывает уведомление. Использование этого устаревшего звука и вибраций кода работает на Android 4.0 (Galaxy Nexus) и Android 2.3 (HTC EVO).
- На 2.3 HTC EVO также работают лампы.
-
В 4.0 Galaxy Nexus свет не работает.
Notification notification = new Notification(R.drawable.ic_launcher, "My Ticker!",System.currentTimeMillis()); notification.setLatestEventInfo(context, "My Title", "My Message", pendingIntent); notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; //notification.defaults |= Notification.DEFAULT_LIGHTS; notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags |= Notification.FLAG_SHOW_LIGHTS; notification.flags |= Notification.FLAG_AUTO_CANCEL;
Я также попробовал новые API, которые не являются частью библиотеки совместимости v4, поэтому я мог только проверить это на Galaxy Nexus. Вибрация и звук снова работают, но не светятся.
Notification.Builder builder = new Notification.Builder(context);
builder.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("My Ticker")
.setWhen(System.currentTimeMillis())
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS)
.setLights(0xff00ff00, 300, 100)
.setContentTitle("My Title 1")
.setContentText("My Text 1");
Notification notification = builder.getNotification();
Теперь я тестировал это на двух телефонах Galaxy Nexus, и свет не работает ни на одном. Экран отключается, когда я запускаю тесты, а все остальные приложения на телефонах запускают свет без проблем.