在Android M上打开LED通知

时间:2016-11-16 21:02:28

标签: android

我正在开发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类才能使其正常工作?

2 个答案:

答案 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。