Я столкнулся с проблемой наложения экрана на Android 8.0. Ниже приведены разрешения, которые указаны в моем файле manifest.xml -
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
При нажатии кнопки (кнопка находится внутри фрагмента), я проверяю, разрешено ли WRITE_EXTERNAL_STORAGE
разрешение или нет. Если не предоставлено, я делаю вещи ниже -
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 5);
& in onRequestPermissionsResult
callback, если PackageManager.PERMISSION_GRANTED
& requestCode == 5
Я звоню своей логической части.
Однако, если я нажму одну из кнопок Разрешить или Запретить всплывающего окна разрешения, Я получу полупрозрачное наложение на весь экран устройства &, если только я Я не убиваю приложение из фона, оно не удаляется. Кроме того, кнопка возврата устройства не работает в этом сценарии.
Это происходит каждый раз, когда я вызываю диалог разрешения WRITE_EXTERNAL_STORAGE
и выполняю одно из действий.
Если разрешение уже предоставлено, приложение работает без проблем с наложением.
Мой minSdkVersion = 19
& targetSdkVersion = 27
.
Также, в моем коде нет тостовых сообщений .
Я протестировал приложение в Android 7.0, и оно отлично работает на нем. Эта проблема возникает на устройствах Android 8.0, таких как Nexus 6P / Google Pixel.
Любая помощь будет оценена.
Заранее спасибо.