7112


現在AndroidのLEDを点灯させようとしているのですが、全く点滅しません。  
以下のコード以外に何か設定しなければならないことがあるのでしょうか？  
それとも端末によって光る端末と光らない端末があったりするのでしょうか？  
以下に現在書いているコードを記しますので、どなたかわかる方がいたらご指導いただきたいです。  
すみませんが、よろしくお願いします。

[code]

            Notification notification = new Notification();
            notification.defaults = Notification.DEFAULT_LIGHTS;
            notification.flags =  Notification.FLAG_SHOW_LIGHTS;
            notification.ledOnMS = 3000;
            notification.ledOffMS = 1000;
            notification.ledARGB = Color.BLUE;
    
            NotificationManager notificationManager = (NotificationManager)
                    activity.getSystemService(Context.NOTIFICATION_SERVICE);
    
            notificationManager.notify(0, notification);
    
[/code]


CC BY-SA 3.0
2015-02-25T22:45:52.157
7101
2015-02-26T04:33:27.753
5210
question
android
AndroidのLEDを光らせる


LEDは、スクリーンがオフの時のための通知方法なので、スクリーンが表示されている場合（手動でアクティビティを起動した時も当然）は点灯しません。例えば、アクティビティのonStartに質問のコードを書いて、普通にアプリを起動してもLEDは点灯しませんが、スクリーンをオフにしたままadb経由でアクティビティを起動した場合は(おそらく1回だけ)点灯します。

また、デフォルト点滅パターンを設定してしまうと、端末によってはLEDを繰り返し点滅できません。（下記コードの「この行を削除すると...」の箇所）

最後にもう一点。`Notification`の設定は、下記コードのように`NotificationBuilder`を使った方が良いと思います。

[code]

    NotificationManager notificationManager = (NotificationManager)activity.getSystemService(Context.NOTIFICATION_SERVICE);
    
    final Notification.Builder nb = new Notification.Builder(activity);
    nb.setDefaults(Notification.DEFAULT_LIGHTS); //この行を削除すると、点滅しつづける。
    nb.setLights(Color.BLUE, 1000, 3000);
    notificationManager.notify(0, nb.build());
    
[/code]


CC BY-SA 3.0
2015-02-26T04:33:27.753
7112
2015-02-26T04:33:27.753
7572
7101
answer