Tar Androids volymdialog för lång tid att försvinna? Här är varför.

Har du märkt att volymdialogrutan på din Android tar 20 sekunder att försvinna, om du inte trycker på skärmen manuellt? Här är varför det händer.

Har du märkt att volymdialogrutan som dyker upp när du trycker på volymknapparna tar lite tid för länge på att försvinna av sig själv? När du först fick din Android-telefon stängdes volymdialogrutan automatiskt efter några sekunder utan din inblandning. Sedan, någon gång under de senaste dagarna, veckorna eller månaderna, skulle det ta lång tid att försvinna om du inte tryckte på skärmen. Om du upplever det här problemet och det gör dig irriterad, är du inte ensam.

I den här artikeln kommer vi att förklara vad som händer och varför det händer så att du antingen kan fixa problemet själv eller skicka den här artikeln till en utvecklare så att de kan fixa det. Låt oss först beskriva exakt vad problemet är så att det är tydligt att vi syftar på samma problem som du står inför.

Problemet

Du trycker på volymknappen på din Android-smarttelefon eller surfplatta för att ändra volymen, men volymen dialogrutan som visas tar lång tid att försvinna av sig själv om du inte trycker på skärmen för att göra den försvinna. Hur länge förblir volymdialogrutan uppe av sig själv? Exakt 20 sekunder.

Krediter: /u/ConeCandy

En populär tråd på Reddits /r/GooglePixel subreddit fick många användare att säga att de stod inför detta problem. Men alla hade inte detta problem. Vissa användare uppgav att deras volymdialoger förblev på skärmen i endast 3 sekunder, vilket är det normala beteendet. Så vad orsakade detta problem? För de flesta användare i den tråden visar det sig att orsaken var en app som heter Signal Spy - även om vissa användare i den tråden sa att andra appar också orsakade detta beteende.

Signal Spy - Monitor Signal StUtvecklare: Novvia

Pris: Gratis.

3.9.

Ladda ner

Signal Spy är en app som är populär bland prenumeranter på Googles Project Fi-tjänst. Project Fi-användare älskar appen eftersom den stöder analys av din nuvarande nätverksanslutning och stöder automatisk växling mellan Sprint och T-Mobile. Den bästa delen? Den behöver inte root-åtkomst för att växla mellan nätverken. Signal Spy använder en tillgänglighetstjänst (en tjänst som använder Androids tillgänglighets-API: er som normalt används för att hjälpa användare med funktionshinder men används också i hundratals vanliga appar) för att automatiskt växla mellan operatörer genom att ange uppringningskod genvägar.

Signal Spys förmåga att automatiskt växla mellan operatörer på Project Fi är otroligt användbar, men det är också anledningen till att Androids volymdialogproblem uppstår. Den enda gemensammaheten mellan Signal Spy och de andra apparna som LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant och andra appar som orsakar detta problem är att de använda en tillgänglighetstjänst. Att gå till Inställningar --> Tillgänglighet och stänga av varje tillgänglighetstjänst en i taget är ett sätt att lösa detta problem. Varför är det då bara vissa appars tillgänglighetstjänster som orsakar detta problem? Tasker, till exempel, står inte inför denna fråga och inte vår egen heller Navigeringsgester app. Du och många andra på Google Issue Tracker kanske tror att det är en bugg, men det är det faktiskt inte - det är helt designat.

Förklaringen

Som vi upptäckte under utvecklingen av appen Navigation Gestures uppstår problemet när en tillgänglighetstjänst har tillgänglighetFeedbackType satt till något annat än FEEDBACK_GENERIC. När vi ställer in vår tillgänglighetstjänst att använda FEEDBACK_HAPTIC, kommer volymdialogrutan att vara på skärmen i 20 sekunder. När vi ställer in den på FEEDBACK_GENERIC, förblir volymdialogrutan på skärmen i 3 sekunder.

Anledningen till att detta inträffar är på grund av två metoder i implementering av volymdialog i AOSP. Den första metoden som kallas computeFeedbackEnabled kontrollerar om det finns några aktiverade tillgänglighetstjänster som är "icke-generiska". Om sant är det booleska mFeedbackEnabled satt till sant. I den andra metoden, computeTimeoutH, om mFeedbackEnabled returnerar sant är volymdialogrutans timeout inställd på 20 sekunder, annars är den inställd på 3 sekunder.

Dessametoder lades till i Android 6.0 Marshmallow-versionen och därför påverkar detta volymdialogproblem alla Android-versioner sedan Android Marshmallow inklusive Android Nougat, Android Oreo och Android Pie. Vi är inte helt säkra Varför dessa metoder lades till eftersom åtagandebeskrivningarna inte var tydliga. Om jag skulle behöva riskera en gissning om varför detta beteende existerar, skulle jag säga att det är för att hjälpa användare med vissa funktionshinder hanterar volymdialogen med röst eller andra ingångar eftersom standardtiden på 3 sekunder är för kort för dem. Om Android upptäcker att en användare använder en tillgänglighetstjänst av en viss typ, förlänger den automatiskt volymdialogrutans vistelse så att användaren har en bättre chans att interagera med den. Oavsett vilket är det uppenbart att det här problemet är inte en bugg men är snarare helt genom design. Tyvärr betyder det att det inte finns någon "fix" för problemet förutom att övertala Google att ändra detta beslut eller övertyga apputvecklare att inte använda icke-generiska feedbacktyper i sin tillgänglighet Tjänster.

Utvecklarna av Signal Spy har redan bekräftat att de har åtgärdat problemet i sin nästa betaversion, så om du upplever problemet och vill se om det är löst, bör peka apputvecklare mot den här artikeln så att de är medvetna om problemet (som många inte är medvetna om.) Om en framtida version av Android ändrar detta beteende låter vi er alla känna till. Åtminstone är du nu medveten om det här problemet och vad som orsakar det, så du tar reda på vilka appar som orsakar problemet för dig.