我正在开发一个用于通知的LED测试应用程序。我想在收到通知时打开/闪烁LED。我的Android设备在我的屏幕上显示通知,但我没有看到led亮起/闪烁。
下面是我在onCreate方法中用于通知的代码
Notification notf = new Notification.Builder(this)
.setAutoCancel(true)
.setLights(0xff0000, 5000, 100)
.setContentTitle("Notification")
.setContentText("Test")
.setContentTitle("Akshay")
.setSmallIcon(R.drawable.ic_launcher)
.build();
notf.flags |= Notification.FLAG_SHOW_LIGHTS;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(2, notf);我是否需要在我的Manifest文件上添加任何权限,或者实现任何Android类才能使其工作?
发布于 2016-11-17 05:43:11
setLights()是一个请求,而不是命令。这取决于设备制造商-或谁创造了在设备上运行的Android版本-是否使用LED进行通知。该设备还可以基于其他因素改变其方法(例如,使用LED来显示充电状态,并且仅在该设备未被充电时才将其用于通知)。
发布于 2016-11-17 06:10:07
https://developer.android.com/reference/android/app/Notification.html为FLAG_SHOW_LIGHTS解释了这一点
由于硬件不同,我们不能保证您传递的任何值都会得到严格遵守。如果可能,请使用系统默认值,因为它们将被设置为适用于任何给定硬件的值。
int FLAG_SHOW_LIGHTS
如果想要此通知的LED亮起,则将位逐位或到应设置的标志字段。
要关闭发光二极管,请在colorARGB的alpha通道中传递0,或者在ledOnMS和ledOffMS的alpha通道中传递0。要打开指示灯,请为ledOnMS传递1,为ledOffMS传递0。要使指示灯闪烁,请将指示灯应打开和关闭的毫秒数传递给ledOnMS和ledOffMS。
https://stackoverflow.com/questions/40642242
复制相似问题