Как получить светодиодное уведомление?

Обновление :Я переделываю исходный пост для совместимости до Android 3.0.

Я пытаюсь создать простое уведомление, и все, кроме света, работает отлично. У меня экран выключен, когда срабатывает уведомление. При использовании этого устаревшего кода звук и вибрация работают на Android 4.0 (Galaxy Nexus )и Android 2.3 (HTC EVO ).

  • На HTC EVO 2.3 свет тоже работает.
  • На Galaxy Nexus 4.0 не работает подсветка.

    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, и ни на одном из них не работает подсветка. Экран выключен, когда я запускаю тесты, и все другие приложения на телефонах без проблем включают свет.

22
задан Cameron McBride 2 May 2012 в 04:08
поделиться