【问题标题】:notification's vibrate and sound defaults are working as INSISTENT通知的振动和声音默认设置为 INSISTENT
【发布时间】:2012-12-01 01:44:15
【问题描述】:

当事件发生时,我的处理程序会调用我的 eventAlert() 函数,该函数会弹出一个新通知。使用默认标志或自定义声音设置都没有关系,当通知到来时,声音会像使用 FLAG_INSISTENT 一样重复。即使使用 FLAG_ONLY_ALERT_ONCE。如果我使用 Uri.parse 指定自定义声音,它的行为方式相同。振动也一样。但是,如果进行自定义振动,使用振动器的 vibreate(long[], int) 函数调用它,它只会振动一次。我做错了什么,导致这里最常见的错误是什么?我怎样才能让它只振动一次并发出声音警报?我的 eventAlert() 被调用一次,我很确定。谢谢你的帮助!

【问题讨论】:

  • 好的,只有在设置了 DEFAULT_LIGHTS 时才会发生这种情况。当仅设置 DEFAULT_VIBRATE 和 DEFAULT_SOUND(但未设置 DEFAULT_LIGHTS)时,它会正常工作,而不是重复。所以现在使用 FLAG_SHOW_LIGHTS 而不是 DEFAULT_LIGHT 作为解决方法。

标签: android


【解决方案1】:

感谢您的回答,这段代码是我们大多数人第一次创建通知时搜索的内容:

notification.flags = Notification.FLAG_ONLY_ALERT_ONCE | Notification.FLAG_SHOW_LIGHTS | Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE;

FLAG_AUTO_CANCEL 在点击通知栏/列表时清除通知。

【讨论】:

    猜你喜欢
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多