NotificationCompat.Builder setLights();不工作

时间:2014-08-13 00:40:47

标签: android

我正在尝试在我的通知中使用LED而它无法正常工作,我有这段代码:

NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(getApplicationContext());
nBuilder.setLights(Color.CYAN, 1000, 500);

整个通知正在运行,例如ContentTitle,ContentText,并显示通知,但只有LED无效。

我的代码有什么问题吗?我应该使用Notification代替NotificationCompact.Builder吗?

3 个答案:

答案 0 :(得分:12)

仅当在设备屏幕关闭时触发通知时,设备中的操作系统才会打开通知LED指示灯。

答案 1 :(得分:2)

您的代码无法使用,因为您必须传递三个变量:

  1. 颜色
  2. 如果打开LED指示灯
  3. 如果关闭LED已开启
  4. 如果您启用2和3,您的LED将闪烁,如果禁用2和3,LED将被关闭

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context );
    mBuilder.setLights(Color.RED, 1, 1); // will blink
    

答案 2 :(得分:0)

对于 26之前的API ,该代码似乎确定

您可以尝试添加Notification.FLAG_SHOW_LIGHTS

NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(context);
nBuilder.setLights(Color.CYAN, 1000, 500);

Notification notif = nBuilder.build();
notif.flags |= Notification.FLAG_SHOW_LIGHTS;

NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(0, notif);

还要确保您不要向下滑动以预览通知,否则当显示屏变黑时,LED将熄灭。