wm = (WindowManager)getApplicationContext().getSystemService(WINDOW_SERVICE);
params = new WindowManager.LayoutParams();
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
params.alpha = seekbar_yejian.getProgress();
if (params.alpha < 30)
params.alpha = 30;
wm.addView(tv, params);
wm.addView(tv, params);這行代碼報錯
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
在最新的Android 8.0中,SYSTEM_ALERT_WINDOW權限的使用進一步受限泡孩,對于第三方應用程序而言漱竖,該權限保護下的TYPE_SYSTEM_ALERT拒迅、TYPE_SYSTEM_OVERLAY畔师、TYPE_SYSTEM_ERROR等幾類勒索軟件常用窗口完全被禁用掏颊。即使獲得了用戶動態(tài)授權送膳,使用這幾種窗口也會觸發(fā)窗口類型錯誤:
取而代之普碎,為了解決窗口置頂需求套啤,Google引進了一種新窗口類型 TYPE_APPLICATION_OVERLAY,這類型窗口將覆蓋其他第三方應用的窗口随常,但卻始終位于系統(tǒng)狀態(tài)欄與輸入法窗口之下
所以8.0窗口解決方案~
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
改成
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
即可