gpt4 book ai didi

android - 如何有 LED 灯通知?

转载 作者:IT老高 更新时间:2023-10-28 23:05:12 24 4
gpt4 key购买 nike

更新:我正在修改原始帖子以实现 Android 3.0 之前的兼容性。

我正在尝试创建一个简单的通知,除了灯光之外的一切都很好。当通知触发时,我确实关闭了屏幕。在 Android 4.0 (Galaxy Nexus) 和 Android 2.3 (HTC EVO) 上使用此已弃用的代码声音和振动。

  • 在 2.3 HTC EVO 上,灯也可以工作。
  • 在 4.0 Galaxy Nexus 上,灯不工作。

    Notification notification = 
    new Notification(R.drawable.ic_launcher, "My Ticker!",System.currentTimeMillis());
    notification.setLatestEventInfo(context, "My Title", "My Message", pendingIntent);
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.defaults |= Notification.DEFAULT_VIBRATE;

    //notification.defaults |= Notification.DEFAULT_LIGHTS;

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

    notification.flags |= Notification.FLAG_AUTO_CANCEL;

我还尝试了不属于 v4 兼容性库的更新 API,因此我只能在 Galaxy Nexus 上进行测试。振动和声音再次起作用,但灯光不起作用。

Notification.Builder builder = new Notification.Builder(context);
builder.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("My Ticker")
.setWhen(System.currentTimeMillis())
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS)
.setLights(0xff00ff00, 300, 100)
.setContentTitle("My Title 1")
.setContentText("My Text 1");
Notification notification = builder.getNotification();

我现在已经在两部 Galaxy Nexus 手机上进行了测试,但两者都没有。当我运行测试时屏幕关闭,手机上的所有其他应用程序都可以正常触发灯。

最佳答案

如果您使用 setDefaults(DEFAULT_LIGHTS) 或 setDefaults(DEFAULT_ALL),它将忽略 FLAG_SHOW_LIGHTS 和任何对 setLights() 的调用。我发现在我的手机上,默认设置不会点亮任何东西。因此,请勿使用 DEFAULT_ALL 或 DEFAULT_LIGHTS,如有必要,请使用 RGB 颜色……尽管 0xff00ff00 几乎适用于所有情况。

关于android - 如何有 LED 灯通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com