[2.13.0] 悬浮窗权限问题兼容

This commit is contained in:
wangmingjun
2022-11-30 19:47:32 +08:00
parent 8d2c8c22b5
commit 55a29607c9
2 changed files with 11 additions and 5 deletions

View File

@@ -9,10 +9,12 @@ import android.view.WindowManager;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.PermissionUtils;
/**
* 浮在各种wm上面的dialog基类调用了window.setType
@@ -34,12 +36,16 @@ public class BaseFloatDialog extends Dialog {
}
}
@RequiresApi(api = Build.VERSION_CODES.M)
private void addFlag() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
} else {
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
if(PermissionUtils.isGrantedDrawOverlays()){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
} else {
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
}
}
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
| WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE);