Android来电通知:通过MediaPlayer播放铃声



TL;DR如何在有声音但使用MediaPlayer播放实际声音的频道中启动通知

我在一个安卓呼叫应用程序上工作。来电通过全屏意向通知显示。通知被发送到一个有声音和振动的频道。

我在OnePlus设备上遇到了一个问题;口袋模式";。基本上,如果你把手机放进口袋,并通过通知收到电话,口袋模式会让手机静音(即你听不到铃声(。

如果我用MediaPlayer播放铃声,则不会发生这种情况。

现在,问题是如何避免通知和MediaPlayer同时播放。我确信这是可能的,因为Signal做到了。但我不明白他们是如何做到的。他们以正常的方式创建频道,来电通知也是以我尝试过的方式构建的。

由于某种原因,一旦显示通知,它就不会发出任何声音或振动。

有人知道他们是怎么做到的吗?

附言:我试图在通知中使用setSilent(true),但在这种情况下,系统根本不显示通知,它会立即启动全屏意图。

N.b.:我检查了所有与我试图弄清楚的问题非常相似的stackoverflow问题。那些符合描述的人从未得到有意义的答案。

我喜欢在stackoverflow上提问:当你发布它的那一刻,你自己就能找到答案。

显然,如果将mode设置为MODE_IN_CALL或MODE_IN_COMMUNICATION,则通知将被静音。

最新更新