Har du bemærket, at lydstyrkedialogen på din Android tager 20 sekunder om at forsvinde, medmindre du trykker på skærmen manuelt? Her er hvorfor det sker.
Har du lagt mærke til, at lydstyrkedialogen, der kommer frem, når du trykker på lydstyrkeknapperne, tager lidt tid også længe om at forsvinde af sig selv? Da du først fik din Android-telefon, ville lydstyrkedialogen automatisk afvise efter et par sekunder uden din indgriben. Så engang i de sidste par dage, uger eller måneder ville det tage lang tid at forsvinde, medmindre du trykkede på din skærm. Hvis du oplever dette problem, og det irriterer dig, er du ikke alene.
I denne artikel skal vi forklare, hvad der foregår, og hvorfor det sker, så du enten selv kan løse problemet eller sende denne artikel til en udvikler, så de kan få det rettet. Lad os først beskrive præcist, hvad problemet er, så det er klart, at vi henviser til det samme problem, du står over for.
Problemet
Du trykker på lydstyrkeknappen på din Android-smartphone eller -tablet for at ændre lydstyrken, men lydstyrken dialog, der vises, tager lang tid om at forsvinde af sig selv, medmindre du trykker på skærmen for at gøre den forsvinde. Hvor længe forbliver lydstyrkedialogen oppe af sig selv? Præcis 20 sekunder.
Credits: /u/ConeCandy
En populær tråd over på Reddits /r/GooglePixel subreddit fik mange brugere til at sige, at de stod over for dette problem. Det var dog ikke alle, der havde dette problem. Nogle brugere sagde, at deres lydstyrkedialogbokse kun forblev på skærmen i 3 sekunder, hvilket er den normale adfærd. Så hvad var årsagen til dette problem? For de fleste brugere i den tråd viser det sig, at årsagen var en app kaldet Signal Spy - selvom nogle brugere i den tråd sagde, at andre apps også forårsagede denne adfærd.
Pris: Gratis.
3.9.
Signal Spy er en app, der er populær blandt abonnenter på Googles Project Fi-tjeneste. Project Fi-brugere elsker appen, fordi den understøtter analyse af din nuværende netværksforbindelse og understøtter automatisk skift mellem Sprint og T-Mobile. Den bedste del? Det behøver ikke root-adgang for at skifte mellem netværkene. Signal Spy bruger en tilgængelighedstjeneste (en tjeneste, der bruger Androids tilgængeligheds-API'er, som normalt bruges til at hjælpe brugere med handicap, men bruges også i hundredvis af almindelige apps) til automatisk at skifte mellem udbydere ved at indtaste opkaldskode genveje.
Signal Spys evne til automatisk at skifte mellem udbydere på Project Fi er utrolig nyttig, men det er også grunden til, at Androids volumendialog-problem opstår. Det ene fællestræk mellem Signal Spy og de andre apps som LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant og andre apps, der forårsager dette problem, er, at de bruge en tilgængelighedstjeneste. At gå til Indstillinger --> Tilgængelighed og deaktivere hver tilgængelighedstjeneste én for én er en måde at løse dette problem på. Hvorfor er det så kun nogle apps' tilgængelighedstjenester, der forårsager dette problem? Tasker, for eksempel ikke står over for dette problem, og det gør vores eget heller ikke Navigationsbevægelser app. Dig og mange andre på Google Issue Tracker tror måske det er en fejl, men det er det faktisk ikke - det er helt efter design.
Forklaringen
Som vi opdagede under udviklingen af Navigation Gestures-appen, opstår problemet, når en tilgængelighedstjeneste har tilgængelighedFeedbackType indstillet til alt andet end FEEDBACK_GENERIC. Når vi indstillede vores tilgængelighedstjeneste til at bruge FEEDBACK_HAPTIC, ville lydstyrkedialogen forblive på skærmen i 20 sekunder. Når vi indstiller den til FEEDBACK_GENERIC, forbliver lydstyrkedialogen på skærmen i 3 sekunder.
Årsagen til dette sker er på grund af to metoder i implementering af volumendialog i AOSP. Den første metode kaldet computeFeedbackEnabled kontrollerer, om der er aktiverede tilgængelighedstjenester, der er "ikke-generiske". Hvis det er sandt, er den boolske mFeedbackEnabled sat til sand. I den anden metode, computeTimeoutH, hvis mFeedbackEnabled returnerer sand, er lydstyrkedialogens timeout sat til 20 sekunder, ellers er den sat til 3 sekunder.
Dissemetoder blev tilføjet i Android 6.0 Marshmallow-udgivelsen, og derfor påvirker dette volumendialogproblem alle Android-udgivelser siden Android Marshmallow inklusive Android Nougat, Android Oreo og Android Pie. Vi er ikke helt sikre hvorfor disse metoder blev tilføjet, da commit-beskrivelserne ikke var klare. Hvis jeg skulle have et gæt på, hvorfor denne adfærd eksisterer, ville jeg sige, at det er for at hjælpe brugere med visse handicap håndterer lydstyrkedialogen med stemme eller andre input, fordi standard 3-sekunders timeout er for kort for dem. Hvis Android registrerer, at en bruger bruger en tilgængelighedstjeneste af en bestemt type, forlænger den automatisk volumendialogens ophold, så brugeren har en bedre chance for at interagere med den. Uanset hvad er det klart, at dette problem er ikke en fejl men er snarere helt af design. Desværre betyder det, at der ikke er nogen "fix" til problemet ud over at overtale Google til at ændre denne beslutning eller overbevise appudviklere om ikke at bruge ikke-generiske feedbacktyper i deres tilgængelighed Tjenester.
Udviklerne af Signal Spy har allerede bekræftet, at de har rettet problemet i deres næste betaudgivelse, så hvis du oplever problemet og vil se, om det er løst, bør pege app-udviklere mod denne artikel, så de er opmærksomme på problemet (som mange ikke er klar over). Hvis en fremtidig version af Android ændrer denne adfærd, vil vi lade jer alle ved godt. I det mindste er du nu klar over dette problem, og hvad der forårsager det, så du finder ud af, hvilke apps der forårsager dette problem for dig.