Мне нужно нарисовать оверлей системы из службы. Это та часть, которая добавляет это представление в WindowManager:
WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
Это не удалось с исключением отказа в разрешении:
Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@f15e8de -- permission denied for window type 2038
Я пробовал все, что нашел в Интернете, и до сих пор не могу получить это разрешение.
- У меня есть SYSTEM_ALERT_WINDOW в манифесте.
- Я должен использовать TYPE_APPLICATION_OVERLAY, а не какой-либо другой TYPE.
- Я проверил
Settings.canDrawOverlays
и это правда. - Я проверил, что для моего приложения включено разрешение
Draw over other apps
в настройках приложения.
Я просмотрел все ответы в Android: разрешение запрещено для типа окна 2038 с использованием TYPE_APPLICATION_OVERLAY, но ни одно из них не решает мою проблему.
Любая помощь приветствуется! Спасибо!