更新: 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;
v4 互換性ライブラリの一部ではない新しい API も試したので、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();
これを 2 台の在庫の Galaxy Nexus スマートフォンでテストしましたが、ライトはどちらでも動作しません。テストを実行すると画面がオフになり、電話上の他のすべてのアプリが問題なくライトをトリガーします。