一骡男、問題描述:
當(dāng)我們?cè)?strong>Service或者其他一些地方想要彈出一個(gè)Dialog或者Window來提示用戶時(shí)淆游,這時(shí)候又恰巧沒有很方便activity的Context可以提供使用時(shí),在百度上一搜隔盛,咦犹菱,又解決方案啊吮炕!啊哈哈腊脱!
二、錯(cuò)誤的解決方案
給Window添加一個(gè)屬性
para.type = WindowManager.LayoutParams.TYPE_TOAST;
給Dialog添加一個(gè)類型
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
然后你在手頭的測(cè)試機(jī)上一測(cè)龙亲,發(fā)現(xiàn)可以耶陕凹,爽歪歪!
Too young Too Simple!!!
這樣做之后可能在大部分的手機(jī)上是可行的鳄炉,但是在一些國產(chǎn)定制化的Android系統(tǒng)上就悲劇了杜耙!例如小米、魅族等
在這些手機(jī)上拂盯,設(shè)置這些屬性佑女,觸發(fā)了定制化系統(tǒng)的彈窗安全級(jí)別,即用戶退出應(yīng)用后磕仅,還能顯示彈窗珊豹,所以需要用戶開啟該應(yīng)用的懸浮窗權(quán)限tこ省i哦!
三蜕便、解決方案
還是老老實(shí)實(shí)的用activity的Context劫恒!哈哈哈!=蜗佟两嘴!