В Android 6 приложения должны запрашивать у пользователя разрешение «Рисовать поверх других приложений», что
android.permission.SYSTEM_ALERT_WINDOW
Однако есть некоторые заметные исключения, которые получают это разрешение при установке. Примеры — почти каждое приложение Google, например приложение «Фотографии». Для ОС Google это имеет смысл (и они, вероятно, находятся в разделе /system), но то же самое относится и к приложениям Facebook и FB Messenger, загружаемым через магазин.
Как это может быть? Платит ли Facebook Google за то, чтобы он был в каком-то белом списке за разрешение? Не подрывает ли это всю цель системы разрешений?
Где хранится информация о приложениях из белого списка? Это по сертификату?
Существует ли что-то подобное и для других разрешений?
Основываясь на ответе Маттиа Маэстрини о переполнении стека ,
Это новое поведение, представленное в Marshmallow 6.0.1 .
Каждое приложение, запрашивающее
SYSTEM_ALERT_WINDOW
разрешение и установленное через Play Store (требуется версия 6.0.5 или выше), получит разрешение автоматически.Если вместо этого приложение загружено, разрешение не предоставляется автоматически. Вы можете попробовать загрузить и установить APK Evernote с сайта apkmirror.com . Как видите, вам нужно вручную предоставить разрешение в
Settings -> Apps -> Draw over other apps
.Это коммиты [1] [2] , которые позволяют Play Store автоматически предоставлять
SYSTEM_ALERT_WINDOW
разрешение.
Гертменкель
доменукк