Android 通知的振动和声音默认值是持续的

Android 通知的振动和声音默认值是持续的,android,Android,当事件发生时,我的处理程序调用我的eventAlert函数,弹出一个新通知。无论是用默认标志还是自定义声音设置,当通知到来时,声音会像FLAG_Consistent一样重复。即使使用FLAG_,也只能发出一次警报。如果我用Uri.parse指定一个自定义声音,它的行为方式相同。振动也是如此。但是,如果一个用户创建了一个自定义振动,并使用可控震源的VibrateLong[],int函数调用它,它只会按其应该的方式振动一次。我做错了什么,最常见的错误是什么?我怎样才能使它只发出一次振动和警报?我敢肯

当事件发生时,我的处理程序调用我的eventAlert函数,弹出一个新通知。无论是用默认标志还是自定义声音设置,当通知到来时,声音会像FLAG_Consistent一样重复。即使使用FLAG_,也只能发出一次警报。如果我用Uri.parse指定一个自定义声音,它的行为方式相同。振动也是如此。但是,如果一个用户创建了一个自定义振动,并使用可控震源的VibrateLong[],int函数调用它,它只会按其应该的方式振动一次。我做错了什么,最常见的错误是什么?我怎样才能使它只发出一次振动和警报?我敢肯定,我的eventAlert只调用过一次。谢谢你的帮助

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

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在单击通知栏/列表时清除通知。

Ok,这仅在同时设置了默认灯光时发生。当仅设置了默认的_振动和默认的_声音,但未设置默认的_灯光时,它会按应有的方式工作,不会重复。因此,现在使用FLAG_SHOW_LIGHTS而不是默认的_LIGHTS作为解决方法。