我正在开发LED测试应用程序以进行通知。收到通知后,我想打开/闪烁LED。我的Android设备会在我的屏幕上显示通知,但我看不到指示灯亮起/闪烁。
以下是我在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类才能使其正常工作?
答案 0 :(得分:0)
setLights()
是请求,而不是命令。设备制造商 - 或者创建在设备上运行的Android版本的人 - 是否使用LED进行通知。设备还可以根据其他因素改变其方法(例如,使用LED显示充电状态,并且仅在设备未充电时才将其用于通知。)
答案 1 :(得分:0)
https://developer.android.com/reference/android/app/Notification.html解释了这一点 对于FLAG_SHOW_LIGHTS
由于硬件不同,您无法保证任何值 你传球真的很荣幸。如果可能,请使用系统默认值 因为它们将设置为适用于任何给定硬件的值。
int FLAG_SHOW_LIGHTS
如果您希望此通知的LED亮起,则按位进入应该设置的标志字段。
要关闭LED,请在alpha通道中为0通过0或对于ledOnMS和ledOffMS通过0。 要打开LED,为leadOnMS传递1,为ledOffMS传递0。 要使LED闪烁,请将它应该打开和关闭的毫秒数传递给ledOnMS和ledOffMS。