Android通知听起来被系统通知抑制了

Android通知听起来被系统通知抑制了,android,Android,我有一个简单的应用程序,可以在收到的短信中查找文本模式,然后发出警报。根据文本,警报可能必须持续一分钟(如寻呼机)。 正在发出通知警报声音,但问题是。。默认SMS通知警报将接管(而我的警报应持续一分钟或更长时间) 我该怎么处理 一种选择可能是在创建通知之前简单地提供一个短暂的延迟(让系统有时间先做它的事情),但是,由于您希望声音持续一分钟或更长时间,我建议不要将声音作为通知的一部分播放。相反,将其作为mp3播放(系统通知会短暂中断,但随后会返回播放),如果用户做了正确的事情(触摸您的通知、打开您

我有一个简单的应用程序,可以在收到的短信中查找文本模式,然后发出警报。根据文本,警报可能必须持续一分钟(如寻呼机)。 正在发出通知警报声音,但问题是。。默认SMS通知警报将接管(而我的警报应持续一分钟或更长时间)


我该怎么处理

一种选择可能是在创建通知之前简单地提供一个短暂的延迟(让系统有时间先做它的事情),但是,由于您希望声音持续一分钟或更长时间,我建议不要将声音作为通知的一部分播放。相反,将其作为mp3播放(系统通知会短暂中断,但随后会返回播放),如果用户做了正确的事情(触摸您的通知、打开您的活动等),请提前取消播放。

AudioManager.requestAudioFocus会向音频设备发出请求,如果获得许可,必须由AudioManager.onAudioFocusChangeListener处理。一旦你完成了你的工作,记得给AudioFocus打电话

我已经尝试了第一种选择——稍微推迟通知。系统通知也被延迟如果延迟导致系统延迟,那是因为您在接收器中阻塞了-阻止了系统接收器的运行。如果启动一个异步线程来执行延迟,然后设置通知,而不阻塞主线程(从而阻塞其他接收器),您可能会得到更好的结果。我认为您启动异步线程的想法会奏效。但是,这不是一个解决办法吗?有没有办法将音频保留一定的时间?我想知道AudioManager.onAudioFocusChangeListener是否会有帮助?AudioManager.onAudioFocusChangeListener确实有帮助。