Повідомлення Android «Виявлено накладання екрана», якщо користувач намагається надати дозвіл, коли відображається сповіщення


80

У мене є Android Marshmallow на Nexus 6. Я намагаюся вирішити таку проблему:

Якщо користувач намагається надати дозвіл під час показу повідомлення, відображається повідомлення "Виявлено накладання екрана", а діалогове вікно "Запит дозволу" зникає - звичайно, програма не отримує запитаного дозволу. (Перевірте знімок екрана)

Я спробував виправити проблему, додавши до маніфесту дозвіл "НАМАЛЮВАТИ НАД ІНШИМИ ДОДАТКАМИ" - android.permission.SYSTEM_ALERT_WINDOW, але без удачі.

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

Хтось знає рішення цієї проблеми?

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



@gsgsgs У мене немає жодної програми, яка накладається на інші програми. У будь-якому випадку я вимкнув усі програми з дозволом "Намалювати інші програми" в налаштуваннях. Не допомогло. Як я вже згадував у питанні, проблема спричинена сповіщенням, а не додатком.
Alexi Akl

2
Це насправді не щось для вас, щоб "виправити" в коді. Це помилка в Android (або, в кращому випадку, погано продумане повідомлення про помилку), і, сподіваємось, Google має виправити це в майбутньому випуску.
Дізнайтеся OpenGL ES

3
У мене трапляється, коли месенджер facebook відкритий (у фоновому режимі)
Тім,

1
Це також трапиться, якщо буде показаний тост.
GLee

Відповіді:


75

За тієї обставини, коли я натрапив, я сам викликав проблему. Це був результат використання Toastдля відображення інформації користувачеві одночасно, коли я просив дозволу. Обидві ці дії разом спричиняють такий тип помилок.

Інші відповіді можуть вирішити чужу проблему. Але я хотів зазначити, що ви повинні бути обережними, спричиняючи власні помилки накладання. Будьте обережні, накладаючи щось на вигляд, одночасно просячи дозволу.


4
Я зіткнувся з тією ж проблемою, я видалив тост, і він перестає з’являтися.
shijin

1
Зіткнувся з тим самим. Видалив тост і працював як шарм
Денніс Андерсон

1
Точно така ж проблема вирішена цим рішенням. Я показував тост перед тим, як попросити дозволу.
Sandoval0992

Це вирішено для мене. Використовував Toastдля налагодження. Це також може бути основною причиною, через яку люди мають це.
Мінору

Toast to display information to the user at the same time that I was asking for permissionДопомогло мені ..
Шайлендра Мадда

8

Видаліть програму Clean Master. Я видалив його, і проблема вирішена


2
Я спробував це, але не допомогло. Навпаки, це спричинило непотрібну деінсталяцію.
user3251882

1
Я спробував це, зробив допомогу. Це спричинило необхідну un-інсталяцію. Дякую! (Sony Xperia Z3)
Джастін,

1
Видалення не повинно бути рішенням. Будь ласка, перевірте stackoverflow.com/a/39826828/2724626, щоб отримати правильну відповідь.
akshay

У моєму випадку це було Facebook Messenger, не потрібно видаляти, просто примусово зупинити.
Хамзе Собох

5

Ця проблема виникає через деякі програми-винуватці, такі як Twilight, Cleaner-Master, Drupe тощо.

Щоб вирішити цю проблему, вам потрібно вимкнути накладання екрана для цих програм-винуватців.

у мене є moto g4 plus, і ось як я вирішую цю проблему

Перейдіть до Налаштування -> Вибрати програми ---> знову виберіть піктограму налаштувань у Програмах ---> виберіть намалювати над іншими програмами ---> і вимкніть програми-винуватці, які заважають іншим програмам.

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

Скріншоти:

Виберіть Програми виберіть налаштування налаштування

виберіть малювати над іншими програмамивідключити програми для винних -


MobileGoConnector та Mobile Go Not Show у My Mobile
Кешав Гера

Що мені робити зараз
Кешав Гера

1
@KeshavGera це ніколи не буде .. bcz це не внутрішній додаток, я встановив його зовні. для вас це буде інший додаток, який викликає проблему з накладанням .. у моєму випадку ці дві програми викликають проблему з накладанням.
Сагар Чавада

@KeshavGera, ти повинен перевірити кожну програму, відключивши дозвіл накладання ..
Сагар Чавада,

3

Отримав розуміння багатьох відповідей тут та інших форумів.

Консолідую, як я позбувся проблеми:

  1. Перейдіть до Налаштування> Додатки> (ваш додаток, який отримує проблему)
  2. Натискайте кнопку живлення, доки не з’явиться вікно для вимкнення, перезавантаження, режиму польоту
  3. Утримуйте опцію вимкнення
  4. Виберіть перезавантаження в безпечному режимі
  5. Перейдіть до налаштувань> програми> (ваш додаток, який отримує проблему)
  6. Виберіть потрібні дозволи
  7. Після оновлення Android M проблеми можуть виникати в таких програмах, як Messenger, Whatsapp, Prisma тощо.

Повідомте мене, якщо виникнуть проблеми.

Примітка. У мене мобільний телефон One plus One.


1
Але ми, як розробники, хочемо, щоб рішення вирішувалося за допомогою кодування, а не за допомогою цього підходу (перезавантаження в безпечному режимі).
Ракеш Ядав,

Ви праві Ракеш, це не ідеальне рішення. Але на сьогоднішній день я не маю жодного іншого рішення, яке б працювало для мого мобільного.
user3251882

Працював у мене станом на зараз !! Сподіваємось, Google виправляє це у випусках Nougat +.
Surendra Kumar

1

Я щойно видалив додаток і вимкнув Nexus 6P. Після його повторного увімкнення я перевстановив програму і більше не отримував діалогових вікон "накладання екрану", коли надавав додатку дозволи.


1
Це ближче до коментаря, ніж до відповіді. Ви можете трохи розширити, чому це працює. Як відповісти
AgataB

1
@AgataB Я новачок у StackOverflow. Я тоді не мав прав коментувати, і не знав, чому спрацювало вимкнення телефону та видалення програми, я просто думав, що це може допомогти.
Студент коледжу

1

Це спливаюче вікно викликане маніфестом. PERMISSION.SYSTEM_ALERT_WINDOW PERMISSION.SYSTEM_ALERT_WINDOW, оголошеним маніфестом.

Існує 3 категорії дозволів, про які розробник повинен знати:

Звичайний дозвіл - нічого з ними не робити, просто заявити в Маніфесті

Вразливі дозволи - заявіть у Manifest та попросіть дозволу спочатку. Їх можна змінити через налаштування системи.

Вище небезпечних дозволів: SYSTEM_ALERT_WINDOW та WRITE_SETTINGS належать до цієї категорії. Вони повинні бути надані, але не відображаються в налаштуваннях системи. Для його запиту ви не використовуєте стандартний спосіб (int checkSelfPermission (дозвіл рядка)), але вам потрібно перевірити Settings.canDrawOverlays () або Settings.System.canWrite (), а якщо ви цього не зробите, ви отримаєте виняток, як

Не вдається додати вікно android.view.ViewRootImpl$W@1de28ad - дозвіл відхилено для цього типу вікна

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();
        }
    }
}

0

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


0

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

Тому я вирішив свою справу, шукаючи будь-які додатки, що накладаються на екран.

Програма, що накладається на екран, - це програма, за допомогою якої ви можете отримати доступ до інших програм на головному головному екрані, не виходячи з головного екрана. Отже, для мене додатком Screen Overlay тут, у моїй ситуації, був OMNI SWIPE . Отже, якщо ви стикаєтесь із цією проблемою, вам слід заспокоїтися та перевірити, який із ваших додатків відповідає визначенню програми, що накладає екран.

знайдіть програму та видаліть, а потім перезапустіть телефон ..

я щойно закінчив це робити і добре проводжу час із телефоном

Удачі


0

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

Будьте обережні, щоб ви не змогли знизити цільовий SDK для нової версії, інакше це призведе до помилки INSTALL_FAILED_PERMISSION_DOWNGRADE, коли оновлення користувача вимагатимуть видалити / встановити програму.



0

Це трапляється, коли ви надали дозвіл на накладання зловмисних програм. Перейдіть до налаштувань накладання та вимкніть функцію накладання для всіх додатків, які не належать google, і вам буде добре.


-1

Я отримав цю проблему під час встановлення нового додатка. Я вирішив цю проблему, щоб вручну ввімкнути дозволи для нещодавно встановленої програми (перед запуском програми). Я майже впевнений, що це проблема особливо на пристроях Android та Samsung. Сподіваюся, це допомагає


-4
  1. Видаліть програми, на які накладено екран, такі як захист CM, Clean Master тощо.

  2. Навіть видаліть і спробуйте за допомогою Messenger (додаток FB), якщо це потрібно.


Я спробував це, але не допомогло. Навпаки, це спричинило непотрібну деінсталяцію.
user3251882

Іноді є причина, чому додаток було встановлено спочатку.
Alen Siljak

ні. Просто переінсталюйте програму Clean Master та / або програму обміну повідомленнями Facebook. Це вирішило проблему для мене.
Омкар Нібандхе
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.