Я разрабатываю приложение, которое позволяет пользователю подключаться к определенной сети Wi-Fi, используя api google vision api для сканирования QR-кода, содержащего ssid. Для сканирования Wi-Fi-сетей мне нужно попросить пользователя предоставить разрешение на размещение. Все это прекрасно работает, если я перехожу к настройкам и вручную разрешаю разрешение на размещение, но при запросе разрешения во время выполнения пользовательские ответвления активируются, тогда появляется второе диалоговое окно, Screen Overlay Detected
, для которого требуется контекстный переключатель, чтобы разрешить разрешение Screen Overlay
. Я не рисую другие приложения, и когда я вручную разрешаю разрешение на размещение, проблем нет. Итак, почему появляется диалоговое окно с разрешением?Неиспользуемый экран Наложение Обнаружено разрешение Dialog
Как я не уверен, почему Android просит разрешения, я не уверен, какой код для публикации. я включил запрос на 3 требуемых разрешения для запроса на изменение сети.
final int permissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.CAMERA);
final int locationPermissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION);
final int wifiPermissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.CHANGE_WIFI_STATE);
final int granted = PackageManager.PERMISSION_GRANTED;
if ((permissionCheck != granted) || (locationPermissionCheck != granted) || (wifiPermissionCheck != granted)) {
ActivityCompat.requestPermissions(mActivity, new String[]{
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.CHANGE_WIFI_STATE
}, 0);
} else {
cameraSource.start(cameraView.getHolder());
}
Update
Оказывается, его не только разрешение местоположения, что поездки его. Любой запрос на разрешение имеет такое же поведение.
после быстрого осмотра я не вижу упоминания об этом разрешении в документах для библиотек, которые я использую. также не будет объяснять, почему приложение работает отлично, если местоположение включено вручную в настройках, а разрешение на экранное оверлей осталось неизменным. – Lonergan6275