1. 报错log
Unable to add window -- token android.os.BinderProxy@XXX is not valid;
is your activity running
2. 现象
弹框有时候不显示出来。
第一次显示弹框都是正常的。app从后台进入到前台,弹框能够正常显示出来;退出app(不杀进程)再重新进入,弹框不会正常显示。
3. 问题出现原因
-
因为弹框是依靠Activity显示的,传入的Context对应的Activity已经销毁了,但是Context没有更新到新的Activity,所以弹框无法正常显示。
-
单例模式中只在第一次初始化的时候给Context赋值了。
4. 解决方案
每次显示Dialog时需要更新Context。保证Context的有效性。