6

我正在使用通知让用户现在该服务仍在运行。现在我想使用通知灯来提醒用户。(因为它很花哨)

通知工作正常,但通知灯没有任何作用。其他应用程序与通知灯一起工作正常,(gtalk,facebook)

它或多或少是添加这些标志的通知示例代码:

notification.ledARGB = 0xff00ff00;
notification.ledOnMS = 100;
notification.ledOffMS = 100;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;

notification.flags |= Notification.FLAG_NO_CLEAR + Notification.FLAG_ONGOING_EVENT;
mNotificationManager.notify(NOTIFICATION_ID, notification);

notification.defaults |= Notification.DEFAULT_LIGHTS;

相反也不起作用。

我正在使用 Android 4.0 在 Galaxy Nexus 上进行调试,但该应用的目标是 Android 2.3.3

编辑:这可能是许可问题吗?如果是,是哪一个?我查看了所有内容,发现通知灯没有匹配的权限。

4

2 回答 2

2

我认为 + 运算符有错误,您需要 OR:

notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;

编辑:如果您使用标志,我认为正确的应该是:

notification.flags |= Notification.FLAG_SHOW_LIGHTS
于 2012-04-27T23:07:10.353 回答
2

在果冻豆设备上,仅当通知优先级设置为最大或默认时,led 才有效,请再次检查。以下代码片段在 jb 设备上对我来说工作正常。

notification.setLights(0xFF0000FF,100,3000);
notification.setPriority(Notification.PRIORITY_DEFAULT);

在这里,我显示蓝色 LED 通知通知,它将保持打开 100 毫秒并关闭 3000 毫秒,直到用户解锁他的设备。

并检查您是否使用 NotificationCompat(兼容性)类而不是忽略 setDefaults 方法并使用 SetLight、SetSound、Setvibration 等

于 2012-12-24T13:12:10.020 回答