项目背景:Service中显示Toast(Android平台:Android 12/13)
现象:同一个逻辑调用Toast,上一个toast消失之后才会触发下一次的逻辑,第4,5次的时候toast不显示,然后又会显示了
问题排查,看到Log中有以下可以内容
Package xxx.xxx.xxxx is above allowed toast quota, the following toast was blocked and discarded:......
查了一下源码NotificationManagerService.java
其中的tryShowToast()方法是控制toast显示条件的
解决方法:加一个权限
<uses-permission android:name="android.permission.UNLIMITED_TOASTS" />