Czy zauważyłeś, że okno dialogowe głośności w Androidzie znika po 20 sekundach, chyba że dotkniesz ekranu ręcznie? Oto dlaczego tak się dzieje.
Czy zauważyłeś, że okno dialogowe głośności pojawiające się po naciśnięciu przycisków głośności zajmuje trochę czasu zbyt długo, żeby zniknąć samoistnie? Kiedy po raz pierwszy dostałeś telefon z Androidem, okno dialogowe głośności zostało automatycznie zamknięte po kilku sekundach bez Twojej interwencji. Potem, w ciągu ostatnich kilku dni, tygodni lub miesięcy, znikanie mogło zająć dużo czasu, chyba że dotkniesz ekranu. Jeśli doświadczasz tego problemu i doprowadza Cię to do szału, nie jesteś sam.
W tym artykule wyjaśnimy, co się dzieje i dlaczego tak się dzieje, abyś mógł samodzielnie rozwiązać problem lub wysłać ten artykuł do programisty, aby mógł go naprawić. Najpierw opiszemy dokładnie, na czym polega problem, aby było jasne, że mówimy o tym samym problemie, z którym się borykasz.
Problem
Naciśnij przycisk głośności na smartfonie lub tablecie z Androidem, aby zmienić głośność, ale głośność Pojawienie się okna dialogowego zajmuje dużo czasu, chyba że dotkniesz ekranu, aby to zrobić zniknąć. Jak długo okno dialogowe głośności pozostaje aktywne? Dokładnie 20 sekund.
Kredyty: /u/ConeCandy
Popularny wątek na Reddicie /r/GooglePixel subreddit miał wielu użytkowników, którzy zgłaszali ten problem. Jednak nie każdy miał ten problem. Niektórzy użytkownicy stwierdzili, że okna dialogowe głośności pozostawały na ekranie tylko przez 3 sekundy, co jest normalnym zachowaniem. Co więc było przyczyną tego problemu? Dla większości użytkowników w tym wątku przyczyną jest aplikacja o nazwie Signal Spy, chociaż niektórzy użytkownicy w tym wątku twierdzili, że inne aplikacje również powodują takie zachowanie.
Cena: za darmo.
3.9.
Signal Spy to aplikacja popularna wśród abonentów usługi Google Project Fi. Użytkownicy Project Fi uwielbiają tę aplikację, ponieważ umożliwia analizę aktualnej łączności sieciowej i automatyczne przełączanie między Sprint i T-Mobile. Najlepsza część? Aby przełączać się między sieciami, nie jest potrzebny dostęp do roota. Signal Spy korzysta z usługi ułatwień dostępu (usługi korzystającej z interfejsów API ułatwień dostępu systemu Android, które są zwykle używane do pomagania użytkownikom dla osób niepełnosprawnych, ale są również używane w setkach zwykłych aplikacji), aby automatycznie przełączać się między operatorami poprzez wprowadzenie kodu dialera skróty.
Zdolność Signal Spy do automatycznego przełączania operatorów w Project Fi jest niezwykle przydatna, ale jest to również powód, dla którego w Androidzie pojawia się problem z dialogiem głośności. Jedyną cechą wspólną Signal Spy i innymi aplikacjami, takimi jak LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant i innymi aplikacjami, które powodują ten problem, jest to, że korzystać z usługi ułatwień dostępu. Przejście do Ustawień -> Dostępność i wyłączenie każdej usługi dostępności jedna po drugiej to jeden ze sposobów rozwiązania tego problemu. Dlaczego zatem tylko usługi ułatwień dostępu niektórych aplikacji powodują ten problem? Zadaniena przykład nie zajmuje się tym problemem, podobnie jak nasz własny Gesty nawigacji aplikacja. Ty i wiele innych osób na Narzędzie do śledzenia problemów Google może się wydawać, że to błąd, ale tak naprawdę nie jest - jest to całkowicie zgodne z projektem.
Wyjaśnienie
Jak odkryliśmy podczas opracowywania aplikacji Gesty nawigacji, problem pojawia się, gdy usługa ułatwień dostępu ma dostępnośćTyp opinii Ustawić cokolwiek innego niż FEEDBACK_GENERIC. Kiedy ustawimy naszą usługę dostępności na FEEDBACK_HAPTIC, okno dialogowe głośności pozostanie na ekranie przez 20 sekund. Kiedy ustawimy go na FEEDBACK_GENERIC, okno dialogowe głośności pozostanie na ekranie przez 3 sekundy.
Powodem tego są dwie metody w pliku implementacja dialogu głośności w AOSP. Pierwsza metoda o nazwie computeFeedbackEnabled sprawdza, czy istnieją włączone usługi ułatwień dostępu, które nie są „ogólne”. Jeśli ma wartość true, wartość logiczna mFeedbackEnabled jest ustawiona na wartość true. W drugiej metodzie computeTimeoutH, jeśli mFeedbackEnabled zwróci wartość true, limit czasu okna dialogowego głośności zostanie ustawiony na 20 sekund, w przeciwnym razie zostanie ustawiony na 3 sekundy.
Temetody zostały dodane w wersji Androida 6.0 Marshmallow, dlatego ten problem z dialogiem głośności dotyczy wszystkich wersji Androida od czasu Androida Marshmallow, w tym Android Nougat, Android Oreo i Android Pie. Nie jesteśmy do końca pewni Dlaczego metody te zostały dodane, ponieważ opisy zatwierdzeń nie były jasne. Gdybym miał zgadnąć, dlaczego takie zachowanie istnieje, powiedziałbym, że ma to na celu pomóc użytkownikom w pewnych kwestiach niepełnosprawnościami obsługują okno dialogowe głośności za pomocą głosu lub innych poleceń, ponieważ domyślny 3-sekundowy limit czasu jest za krótki dla nich. Jeśli system Android wykryje, że użytkownik korzysta z usługi dostępności określonego typu, automatycznie wydłuża czas działania okna dialogowego głośności, dzięki czemu użytkownik ma większe szanse na interakcję z nim. Tak czy inaczej, jasne jest, że jest to problem nie jest to błąd ale raczej całkowicie przez projekt. Niestety oznacza to, że nie ma żadnego „rozwiązania” problemu poza przekonaniem Google do zmiany tę decyzję lub przekonaj twórców aplikacji, aby nie korzystali z nieogólnych typów opinii w swoich ułatwieniach dostępu Usługi.
Twórcy Signal Spy potwierdzili już, że naprawili problem w następnej wersji beta, więc jeśli napotkasz problem i chcesz sprawdzić, czy został rozwiązany, powinien wskazać twórcom aplikacji ten artykuł, aby zdali sobie sprawę z problemu (wielu nie jest tego świadomych). Jeśli przyszła wersja Androida zmieni to zachowanie, powiadomimy Was wszystkich wiedzieć. Przynajmniej już wiesz o tym problemie i jego przyczynach, więc możesz dowiedzieć się, które aplikacje powodują ten problem.