Діалогове вікно гучності Android зникає занадто довго? Ось чому.

click fraud protection

Ви помітили, що діалогове вікно гучності на вашому Android зникає через 20 секунд, якщо ви не торкнетеся екрана вручну? Ось чому це відбувається.

Ви помітили, що діалогове вікно гучності, яке з’являється під час натискання кнопок гучності, займає трохи часу теж довго зникати самостійно? Коли ви вперше отримали свій телефон Android, діалогове вікно гучності автоматично закривалося через кілька секунд без вашого втручання. Потім, десь протягом останніх кількох днів, тижнів чи місяців, знадобиться багато часу, щоб зникнути, якщо ви не торкнетеся екрана. Якщо ви зіткнулися з цією проблемою і вона вас дратує, ви не самотні.

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

Проблема

Ви натискаєте кнопку гучності на смартфоні або планшеті Android, щоб змінити гучність, але гучність Діалогове вікно, яке з’являється, довго не зникає, якщо ви не торкнетеся екрана, щоб відкрити його зникнути. Як довго діалогове вікно гучності залишається самостійним? Рівно 20 секунд.

Кредити: /u/ConeCandy

Популярна тема на /r/ на RedditGooglePixel На subreddit багато користувачів повідомили, що вони зіткнулися з цією проблемою. Однак не всі стикалися з цією проблемою. Деякі користувачі стверджували, що їхні діалогові вікна гучності залишалися на екрані лише 3 секунди, що є нормальною поведінкою. Що спричинило цю проблему? Для більшості користувачів у цьому ланцюжку виявляється, що причиною був додаток під назвою Signal Spy, хоча деякі користувачі в цьому ланцюжку сказали, що інші додатки теж спричиняють таку поведінку.

Signal Spy - Монітор Signal StРозробник: Новвія

Ціна: безкоштовно.

3.9.

Завантажити

Signal Spy – це програма, яка користується популярністю серед передплатників служби Project Fi від Google. Користувачі Project Fi люблять цю програму, оскільки вона підтримує аналіз поточного підключення до мережі та підтримує автоматичне перемикання між Sprint і T-Mobile. Найкраща частина? Для перемикання між мережами не потрібен доступ root. Signal Spy використовує службу доступності (службу, яка використовує API спеціальних можливостей Android, які зазвичай використовуються для допомоги користувачам з обмеженими можливостями, але також використовуються в сотнях звичайних програм) для автоматичного перемикання між операторами шляхом введення коду набору номера ярлики.

Здатність Signal Spy автоматично перемикатися між операторами в Project Fi є неймовірно корисною, але це також є причиною появи діалогового вікна гучності Android. Єдина спільність між Signal Spy та іншими програмами, такими як LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant та іншими програмами, які спричиняють цю проблему, полягає в тому, що вони використовувати службу доступності. Перехід до Налаштувань --> Доступність і вимикання кожної служби доступності одну за одною є одним із способів вирішення цієї проблеми. Чому ж тоді цю проблему викликають лише служби доступності деяких програм? Tasker, наприклад, не стикається з цією проблемою, як і ми самі Жести навігації додаток Ви та багато інших на Google Issue Tracker може подумати, що це помилка, але насправді це не так - це повністю розроблено.

Пояснення

Як ми виявили під час розробки програми Navigation Gestures, проблема виникає, коли служба доступності має accessibilityFeedbackType встановлений в будь-що, крім FEEDBACK_GENERIC. Коли ми налаштовуємо службу доступності на використання FEEDBACK_HAPTIC, діалогове вікно гучності залишатиметься на екрані протягом 20 секунд. Якщо встановити значення FEEDBACK_GENERIC, діалогове вікно гучності залишається на екрані протягом 3 секунд.

Причиною цього є два методи в обсяг діалогової реалізації в AOSP. Перший метод під назвою computeFeedbackEnabled перевіряє, чи є якісь увімкнені служби доступності, які є «незагальними». Якщо значення true, то логічне значення mFeedbackEnabled має значення true. У другому методі, computeTimeoutH, якщо mFeedbackEnabled повертає значення true, тоді час очікування діалогового вікна гучності встановлюється на 20 секунд, інакше – на 3 секунди.

Ціметоди були додані у випуск Android 6.0 Marshmallow, тому ця проблема з діалоговим вікном обсягу впливає на всі випуски Android, починаючи з Android Marshmallow, включаючи Android Nougat, Android Oreo та Android Pie. Ми не зовсім впевнені чому ці методи були додані, оскільки описи комітів були незрозумілими. Якби мені довелося ризикнути припустити, чому така поведінка існує, я б сказав, що це для того, щоб допомогти користувачам із певними з обмеженими можливостями обробляти діалогове вікно гучності за допомогою голосу чи інших вводів, оскільки 3-секундний тайм-аут за умовчанням занадто короткий для них. Якщо Android виявляє, що користувач використовує службу спеціальних можливостей певного типу, він автоматично подовжує час перебування діалогового вікна гучності, щоб користувач мав кращі шанси взаємодіяти з ним. Незважаючи на це, зрозуміло, що ця проблема є не помилка а скоріше цілком за проектом. На жаль, це означає, що не існує «виправлення» проблеми, окрім переконання Google змінити це рішення або переконати розробників програм не використовувати незагальні типи відгуків у своїх спеціальних можливостях Послуги.

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