Você notou que a caixa de diálogo de volume do seu Android leva 20 segundos para desaparecer, a menos que você toque na tela manualmente? Veja por que isso acontece.
Você notou que a caixa de diálogo de volume que aparece quando você pressiona os botões de volume demora um pouco também deseja desaparecer por conta própria? Quando você adquiriu seu telefone Android pela primeira vez, a caixa de diálogo de volume foi encerrada automaticamente após alguns segundos sem sua intervenção. Então, em algum momento nos últimos dias, semanas ou meses, demoraria muito para desaparecer, a menos que você tocasse na tela. Se você está enfrentando esse problema e isso o enfurece, você não está sozinho.
Neste artigo, explicaremos o que está acontecendo e por que isso acontece, para que você possa corrigir o problema sozinho ou enviar este artigo a um desenvolvedor para que ele possa corrigi-lo. Vamos primeiro descrever exatamente qual é o problema para que fique claro que estamos nos referindo ao mesmo problema que você está enfrentando.
O problema
Você pressiona o botão de volume no seu smartphone ou tablet Android para alterar o volume, mas o volume a caixa de diálogo que aparece leva muito tempo para desaparecer sozinha, a menos que você toque na tela para fazê-la desaparecer. Por quanto tempo a caixa de diálogo de volume permanece ativa sozinha? Exatamente 20 segundos.
Créditos: /u/ConeCandy
Um tópico popular no /r/ do RedditGooglePixel O subreddit fez com que muitos usuários comentassem que estavam enfrentando esse problema. No entanto, nem todos estavam tendo esse problema. Alguns usuários afirmaram que as caixas de diálogo de volume permaneceram na tela por apenas 3 segundos, o que é o comportamento normal. Então, o que estava causando esse problema? Para a maioria dos usuários nesse tópico, o motivo foi um aplicativo chamado Signal Spy - embora alguns usuários nesse tópico tenham dito que outros aplicativos também estavam causando esse comportamento.
Preço: Grátis.
3.9.
Signal Spy é um aplicativo popular entre os assinantes do serviço Project Fi do Google. Os usuários do Project Fi adoram o aplicativo porque ele oferece suporte à análise da conectividade de rede atual e à troca automática entre Sprint e T-Mobile. A melhor parte? Não precisa de acesso root para alternar entre as redes. Signal Spy usa um serviço de acessibilidade (um serviço que usa APIs de acessibilidade do Android que normalmente são usadas para auxiliar os usuários com deficiência, mas também são usados em centenas de aplicativos regulares) para alternar automaticamente entre operadoras inserindo o código do discador atalhos.
A capacidade do Signal Spy de alternar automaticamente entre operadoras no Project Fi é incrivelmente útil, mas também é a razão pela qual o problema de diálogo de volume do Android está acontecendo. O único ponto em comum entre o Signal Spy e outros aplicativos como LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant e outros aplicativos que causam esse problema é que eles use um serviço de acessibilidade. Acessar Configurações -> Acessibilidade e desligar cada Serviço de Acessibilidade um por um é uma maneira de resolver esse problema. Por que, então, apenas os Serviços de Acessibilidade de alguns aplicativos causam esse problema? Tasker, por exemplo, não enfrenta esse problema e nem o nosso próprio Gestos de navegação aplicativo. Você e muitos outros no Rastreador de problemas do Google pode pensar que é um bug, mas na verdade não é - é inteiramente intencional.
A explicação
Como descobrimos durante o desenvolvimento do aplicativo Navigation Gestures, o problema surge quando um Serviço de Acessibilidade tem o acessibilidadeFeedbackType definido como qualquer coisa diferente de FEEDBACK_GENERIC. Quando definimos nosso Serviço de Acessibilidade para usar FEEDBACK_HAPTIC, a caixa de diálogo de volume permaneceria na tela por 20 segundos. Quando configuramos como FEEDBACK_GENERIC, a caixa de diálogo de volume permanece na tela por 3 segundos.
A razão pela qual isso ocorre é devido a dois métodos no implementação de diálogo de volume na AOSP. O primeiro método chamado computaFeedbackEnabled verifica se há algum serviço de acessibilidade habilitado que seja "não genérico". Se for verdadeiro, o booleano mFeedbackEnabled será definido como verdadeiro. No segundo método, computeTimeoutH, se mFeedbackEnabled retornar true, o tempo limite da caixa de diálogo do volume será definido como 20 segundos, caso contrário, será definido como 3 segundos.
Essesmétodos foram adicionados na versão do Android 6.0 Marshmallow e, portanto, esse problema de diálogo de volume afeta todas as versões do Android desde o Android Marshmallow, incluindo Android Nougat, Android Oreo e Android Pie. Não temos certeza por que esses métodos foram adicionados porque as descrições do commit não eram claras. Se eu tivesse que arriscar um palpite sobre por que esse comportamento existe, diria que é para ajudar os usuários com certas deficiências lidam com a caixa de diálogo de volume com voz ou outras entradas porque o tempo limite padrão de 3 segundos é muito curto para eles. Se o Android detectar que um usuário está usando um serviço de acessibilidade de um determinado tipo, ele estende automaticamente a permanência da caixa de diálogo de volume para que o usuário tenha mais chances de interagir com ele. Independentemente disso, está claro que esta questão é não é um bug mas é inteiramente por projeto. Infelizmente, isso significa que não há "solução" para o problema além de persuadir o Google a alterar esta decisão ou convencer os desenvolvedores de aplicativos a não usar tipos de feedback não genéricos em seus relatórios de acessibilidade Serviços.
Os desenvolvedores do Signal Spy já confirmaram que corrigiram o problema em sua próxima versão beta, então se você enfrentar o problema e quiser ver se foi corrigido, você devemos orientar os desenvolvedores de aplicativos sobre este artigo para que eles estejam cientes do problema (como muitos não estão cientes). Se uma versão futura do Android alterar esse comportamento, avisaremos a todos vocês saber. Pelo menos agora você está ciente desse problema e do que o causa, então você descobre quais aplicativos estão causando esse problema para você.