Toast不显示问题

485 阅读1分钟

问题

即使Context使用了Application,还是不显示

1.自定义View类型的Toast不显示(在关闭Activity的生命周期时)
2.透明Activity后的页面无法显示

原因

谷歌原话:实施说明:我们对 toast 前景的定义是一个实施问题,应该在功能和反滥用有效性之间取得平衡。

API30以后,setView类型的自定义被废弃。
toast在使用的范围收缩

解决

  1. 用普通的text的toast(建议,丑点就丑点吧)
  2. 改用Snackbar、申请悬浮窗权限等(不推荐)
  3. 页面快结束的地方,toast加一个100ms延迟

源码

NotificationManagerService.java 下的enqueueToast方法

image.png

image.png