首页 > 解决方案 > 如何可靠地判断 Android 通知是否可以显示气泡?

问题描述

在 Android 11 上,基本上有两层气泡设置:

它们以下列方式相互作用:

检查这些设置的两种方法如下:

在下表中表示出现气泡:

冒泡
这个对话
canBubble()= true
mAllowBubbles=1
不要冒泡
这个对话
canBubble()= false
mAllowBubbles=0
默认
canBubble()= false
mAllowBubbles=-1
所有对话
都可以冒泡
areBubblesAllowed()=true
* *
选定的对话
可以冒泡
areBubblesAllowed()=false
†</td>
没有什么可以冒泡
areBubblesAllowed()=false
†</td>

如果仔细观察,您会发现对于这两种方法的某些组合,您无法判断是否显示了气泡。有问题的案例用 * 和 † 标记。您可以通过查看(另请参见表头)来区分标有 * 的两种情况notificationChannel.mAllowBubbles,但此私有字段无法通过反射访问。

有没有办法解决这个问题并可靠地判断通知是否会冒泡?

标签: androidandroid-notificationsandroid-bubbles

解决方案


推荐阅读