最开始考虑的是使用申请悬浮窗权限弹出dialog,发现很多问题与要动态申请权限。最终放弃这种了,采用了另一种通过获取当前的activity来显示弹窗,
具体实现方案如下,
1.在application的oncreate()注册监听activity生命周期
在onActivityResumed获取到activity
2在你的showDialog里面判断mContext不为空显示弹窗dialog。这样的话,你可以在application实现单例后调用showDialog方法。
我这边使用到这样的方式是因为业务需求,在每次调用接口前需要获取到一次消息弹窗提醒接口,采用这种方式就可以快速在调用接口的时候实现任意activity弹窗提醒功能。