Сообщение Android "Обнаружение экрана", если пользователь пытается предоставить разрешение при показе уведомления

У меня есть Android Marshmallow на Nexus 6. Я пытаюсь решить следующую проблему:

Если пользователь пытается предоставить разрешение во время показа уведомления, появляется сообщение "Обнаружение наложения экрана", и диалог разрешения запроса исчезает - конечно, приложение не получает запрашиваемого разрешения. (Проверьте скриншот)

Я попытался исправить проблему, добавив разрешение "DRAW OVER OTHER APPS" - android.permission.SYSTEM_ALERT_WINDOW к манифесту, но не повезло.

PS: Я уверен, что проблема вызвана уведомлением. У меня нет установленных приложений, которые накладываются поверх других приложений, я даже отключил все приложения с разрешением "Нарисуйте другие приложения" в настройках. Не помогло..

Кто-нибудь знает решение этой проблемы?

введите описание изображения здесь

Ответ 1

В том обстоятельстве, с которым я столкнулся, я сам вызывал проблему. Это было результатом использования Toast для отображения информации пользователю в то же время, когда я просил разрешения. Оба эти действия вместе вызывают такой тип ошибок.

Другие ответы могут решить проблему другого пользователя. Но я хотел бы отметить, что вы должны проявлять осторожность при возникновении собственных ошибок наложения. Будьте осторожны, накладывая что-то в представлении, одновременно запрашивая разрешение.

Ответ 2

Удалить приложение Clean Master. Я удалил его и проблема решена.

Ответ 3

Эта проблема возникает из-за какого-то преступного приложения, такого как Twilight, clean-master, drupe и т.д.

Чтобы решить эту проблему, вы должны отключить наложение экрана для этих злостных приложений.

У меня есть moto g4 plus, и вот как я решаю эту проблему

Перейдите в Настройка → Выбрать приложения --- > еще раз выберите значок настройки в Приложениях --- > выберите рисование над другими приложениями --- > и отключите приложения, виновные в других приложениях.

что я делаю, проверяя каждое приложение, отключив это разрешение и попробовав запустить мое приложение, и я нашел одно приложение в этом сложном наложении для других приложений, поэтому в конце я отключил только это приложение.

Скрины:

Выбрать приложения выбрать настройку конфигурации

выбрать рисовать поверх других приложений отключить приложения для виновных

Ответ 4

Получите информацию от нескольких ответов здесь и на других форумах.

Консолидация того, как я избавился от проблемы:

  • Перейдите в "Настройки" > "Приложения" > (ваше приложение становится проблемой).
  • Нажмите кнопку "Питание" до включения питания, перезагрузки, режима полета.
  • Удержание при выключении питания
  • Выберите перезагрузку в безопасном режиме
  • Перейдите в настройки > apps > (ваше приложение, которое становится проблемой)
  • Выберите требуемые разрешения
  • После обновления Android M проблемы могут возникать в приложениях, таких как Messenger, Whatsapp, Prisma и т.д.

Сообщите мне, если возникнут проблемы.

Примечание. У меня есть One plus One mobile.

Ответ 5

Я просто удалил свое приложение и отключил свой Nexus 6P. После его повторного включения я переустановил приложение и больше не получил диалоги "наложения экрана" при предоставлении разрешений приложения.

Ответ 6

Вы должны отключить оверлей для всех приложений, которые вы видите в списке. Только так вы можете изменить полномочия в нужном приложении. Я сделал это в безопасном режиме, и это сработало. В конце я перезагрузил телефон, и теперь он работает нормально.

Ответ 7

Я обновил свой Sony Xperia Z3 (Dual Sim) до Android 6.0.1 (Marsmallow). У меня были проблемы с экраном. Для меня у меня нет Clean Master, Du Speed ​​или Du Booster (в качестве решений, которые я прочитал).

Итак, я решил, что я ищу любые приложения для наложения экрана.

Приложение для перекрытия экрана - это приложение, которое вы можете использовать для доступа к другим приложениям на главном главном экране, не выходя из главного экрана. Так что для меня приложение Overlay Screen здесь, в моей ситуации, было OMNI SWIPE. Поэтому, если вы столкнулись с этой проблемой, вам нужно успокоиться и проверить, какое из приложений подходит для определения приложения наложения экрана.

найдите приложение и удалите его, затем перезагрузите телефон.

Я только что закончил делать это и хорошо провожу время с телефоном

Лучшее из удачи

Ответ 8

Пока Android 6.x не работает на некоторых устройствах, где это "предупреждение о наложении" отображается без какой-либо причины (на 2-5% устройств в соответствии с моими данными аналитики), лучшим решением является избежать всего разрешить процесс, указав targetSdk на 22.

Позаботьтесь о том, чтобы вы не смогли понизить целевой файл sdk для новой версии, иначе это приведет к ошибке INSTALL_FAILED_PERMISSION_DOWNGRADE, когда пользователь будет обновлять, требуя unisntall/install приложения.

Ответ 9

решение

удалите сообщения Toast из метода onRequestPermissionsResult

Ответ 10

Это происходит, когда вы предоставили разрешение наложения вредоносным приложениям. Перейдите к настройкам наложения и отключите функцию наложения во всех приложениях, которые не принадлежат Google, и все будет в порядке.

Ответ 11

Это всплывающее окно вызвано декларацией manifest.PERMISSION.SYSTEM_ALERT_WINDOW, объявленной манифестом.

Это 3 категории разрешений, о которых должен знать разработчик:

Нормальное разрешение - ничего с ними не делать, просто объявить в Манифесте

Уязвимые разрешения - объявите в манифесте и запросите разрешение в первый раз. Их можно изменить через системные настройки.

Над опасными разрешениями: SYSTEM_ALERT_WINDOW и WRITE_SETTINGS относятся к этой категории. Они должны быть предоставлены, но не отображаются в настройках системы. Чтобы запросить его, вы не используете стандартный способ (int checkSelfPermission (разрешение String)), но вы должны проверить Settings.canDrawOverlays() или Settings.System.canWrite() соответствующим образом, и если вы этого не сделаете, вы получите исключение, например

Невозможно добавить окно [email protected] - разрешение отклонено для этого типа окна

1-Запросите это разрешение самостоятельно в своем коде, как указано ниже:

public class MainActivity extends AppCompatActivity {

public final static int REQUEST_CODE = 10000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (checkDrawOverlayPermission()) {
          Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
    }
}

public boolean checkDrawOverlayPermission() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        return true;
    }
    if (!Settings.canDrawOverlays(this)) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
            Uri.parse("package:" + getPackageName()));
        startActivityForResult(intent, REQUEST_CODE);
        return false;
    } else {
        return true;
    }
}

@Override
@TargetApi(Build.VERSION_CODES.M)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        if (Settings.canDrawOverlays(this)) {
              Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
        }
    }
}

Ответ 12

У меня возникла проблема при установке нового приложения. Способ, которым я столкнулся с этой проблемой, - это вручную разрешить разрешения для недавно установленного приложения (перед запуском приложения). Я уверен, что это проблема с устройствами Android и Samsung в частности. Надеюсь, что это поможет

Ответ 13

  • Удалите приложения, на которых есть экранное наложение, такое как защита CM, Clean Master и т.д.

  • При необходимости удалите и попробуйте с помощью Messenger (приложение FB).