Android中不依赖activity的dialog弹窗的实现是

2017-02-20  本文已影响1306人  枫叶丶鑫鑫

一、问题描述:

当我们在Service或者其他一些地方想要弹出一个Dialog或者Window来提示用户时,这时候又恰巧没有很方便activityContext可以提供使用时,在百度上一搜,咦,又解决方案啊!啊哈哈!

二、错误的解决方案

给Window添加一个属性
para.type = WindowManager.LayoutParams.TYPE_TOAST;
给Dialog添加一个类型
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
然后你在手头的测试机上一测,发现可以耶,爽歪歪!

Too young Too Simple!!!

这样做之后可能在大部分的手机上是可行的,但是在一些国产定制化的Android系统上就悲剧了!例如小米、魅族等
在这些手机上,设置这些属性,触发了定制化系统的弹窗安全级别,即用户退出应用后,还能显示弹窗,所以需要用户开启该应用的悬浮窗权限!!!

三、解决方案

还是老老实实的用activityContext!哈哈哈!!!

上一篇下一篇

猜你喜欢

热点阅读