0
    NotificationManager notifMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    Notification notif = new Notification();
  //Use this if you want to use the default lights for a notification
    notif.defaults |= Notification.DEFAULT_LIGHTS;

    //Use this if you want custom values for the LED
    notif.ledARGB = 0xff0000ff;          // Blue flash
    notif.ledOnMS = 300;                 // LED's on for 300 ms
    notif.ledOffMS = 1000;               // LEDs off for 1 second
    notif.flags |= Notification.FLAG_SHOW_LIGHTS;

    notifMgr.notify(1234, notif);  

我正在使用此代码更改手机 LED 的颜色。但我看不到变化。我哪里错了?第二件事是无论如何都可以获得LED的状态。我正在测试我们的 HTC Hero/Htc G2。在 Bat Low 和电子邮件和 SMS 上,我的手机给了我一个闪烁的 LED 和发光的轨迹球。所以我认为我的系统有支持。为什么这段代码不起作用不知道有人能告诉我吗?

4

2 回答 2

1

此行忽略您的 led 自定义:

notif.defaults |= Notification.DEFAULT_LIGHTS;

删除此行。

于 2011-10-26T10:24:54.163 回答
0

我哪里错了?

引用 Android 文档ledARGB

硬件将做最好的近似。

这真正意味着,你得到了设备制造商想要你得到的东西。并非所有制造商都对与Notification.

在 Bat Low 和电子邮件和 SMS 上,我的手机给了我一个闪烁的 LED 和发光的轨迹球。所以我认为我的系统有支持。为什么这段代码不起作用不知道有人能告诉我吗?

欢迎 HTC 为自己的目的使用自己的 LED。仅仅因为 HTC 将 LED 用于其自己的固件应用程序的一种方式并不意味着像我们这样的第三方开发人员会得到相同的结果。

因此,虽然欢迎您尝试让 LED 闪烁,但您不应该指望它会正常工作。许多设备甚至没有LED。

于 2011-08-18T20:48:44.110 回答