Como parar o Pokemon Go (ou outros aplicativos) de roubar o foco do áudio

Apesar de diminuir em popularidade, Pokemon Go ainda tem muitos fãs jogando o jogo todos os dias. Embora a maioria dos problemas do jogo tenha sido relacionada a trapaça, existem outros menores que incomodam os usuários existentes. Um desses problemas está relacionado ao foco do áudio no Android. Os usuários que gostam de ouvir música ou podcasts ao jogar Pokemon Go descobrem que a reprodução de áudio é interrompida imediatamente ao iniciar o jogo. Isso exige que os usuários reiniciem manualmente a reprodução em seu aplicativo de mídia favorito, como Google Play Music, Spotify ou PocketCasts. Hoje, vou mostrar como impedir que o Pokemon Go (ou qualquer outro aplicativo) roube o foco permanente do áudio - sem raiz .

O que acontece quando o Pokemon Go é lançado, ele solicita o foco de áudio do sistema, o que significa que qualquer reprodução de mídia existente no mesmo fluxo de volume será reduzida. A questão aqui é que o foco de áudio do Android depende de um sistema de honra entre os aplicativos. O Android não escolhe quais aplicativos devem ser priorizados para manter o foco, em vez disso, depende dos aplicativos que solicitam e liberam o foco, conforme necessário. Assim, como o Pokemon Go solicita foco no áudio quando é lançado, outros aplicativos não podem impedi-lo de controlar o volume da mídia.

Alguns aplicativos, como o Poweramp ou o Podcast Addict, têm configurações experimentais para manter o foco de áudio para impedir que outros aplicativos o roubem, mas obviamente muitos aplicativos de mídia por aí não. Alguns usuários criaram sua própria maneira de manter o foco do áudio através do uso de perfis Tasker, algo que eu provavelmente teria tentado se não houvesse uma maneira melhor - mas felizmente existe. Envolve o uso de um comando ADB oculto para acessar a interface da linha de comandos do sistema de gerenciamento de permissões do Android, conhecido como appops. Com um único comando, você pode impedir o Pokemon Go (ou qualquer outro aplicativo) de focar o áudio novamente!

O método que estamos usando aqui é destinado a usuários não raiz, sem raiz, que não estão executando nenhum tipo de ROM personalizada. Usuários de ROM personalizados, como os do LineageOS, podem ter acesso a um método de controle de permissão mais poderoso que permite ignorar a necessidade desse comando.


Parar Pokemon Go de tomar o áudio Focus - Tutorial

  1. Faça o download e instale os drivers USB para o seu dispositivo - provavelmente apenas necessário se estiver no Windows.
  2. Faça o download do binário ADB para o seu sistema operacional e extraia o arquivo para qualquer pasta do seu PC.
  3. No seu telefone, abra Configurações e encontre a opção "Sobre o telefone".
  4. Role para baixo para encontrar o valor "Build Number" e toque nele 7 vezes, ativando o Developer Mode.
  5. De volta ao menu principal em Configurações, insira Opções do desenvolvedor.
  6. Ative o Modo de depuração USB aqui, como mostrado abaixo.

  7. Conecte seu telefone ao PC e, no telefone, altere o modo USB do modo “somente carga” para o modo “transferência de arquivo (MTP)”.
  8. De volta ao PC, navegue até onde você extraiu o binário do ADB.

  9. Abra um prompt de comando neste diretório ADB. No Windows, o método mais fácil de fazer isso é pressionar Shift + botão direito do mouse. No menu de contexto, escolha a opção "abrir janela de comando aqui". Usuários de Mac ou Linux, abra um Terminal.

  10. Digite o seguinte comando: adb devices
  11. Isso iniciará o daemon ADB. Se esta é a primeira vez que você executa o ADB, você verá um prompt solicitando a autorização de uma conexão. Permitir.

  12. Execute novamente o comando da etapa 10 e você verá o número de série do seu dispositivo na saída. Nesse caso, vá para a próxima etapa. Caso contrário, reinstale os drivers.
  13. ( Opcional ): se você deseja restringir o foco de áudio a um aplicativo que não seja o Pokemon Go, instale o aplicativo App Inspector e encontre o pacote listado sob o nome do aplicativo.
  14. Envie o seguinte comando: adb shell
  15. Em seguida, execute este comando: cmd appops set TAKE_AUDIO_FOCUS ignore . Por exemplo, para Pokemon Go, o comando seria: cmd appops set com.nianticlabs.pokemongo TAKE_AUDIO_FOCUS ignore

    Exemplo: Comando usado para Pokemon Go

    Atualização: se o comando acima não estiver funcionando, tente excluir "cmd" do comando. Ouvi dizer que isso pode ser necessário se você estiver executando o Android 6.0 Marshmallow ou anterior.

  16. Contanto que você não receba uma mensagem de erro na janela, ela deve ter funcionado. Parabéns! Agora, o Pokemon Go não impedirá que o Google Play Music, Spotify, PocketCasts ou qualquer outro aplicativo jogue em cima dele!

Explicação

Como mencionado no começo, estamos usando a linha de comando para fazer interface com os aplicativos, que é o sistema voltado para o usuário do Android para lidar com as permissões do aplicativo. Por padrão, existem apenas algumas permissões que os usuários podem alternar na interface de configurações. Certas ROMs personalizadas (como o LineageOS com seu Privacy Guard) expõem mais permissões que você pode restringir, mas para usuários não enraizados, a única maneira de lidar com essas permissões é através da linha de comando.

De qualquer forma, a permissão específica que estamos restringindo é android.permission.TAKE_AUDIO_FOCUS que qualquer aplicativo que solicite em seu arquivo AndroidManifest.xml é concedido automaticamente após a instalação. Graças ao comando appops acima, podemos retirar essa permissão do Pokemon Go, o que significa que ele não pode mais solicitar foco de áudio e, portanto, não pode mais impedir a reprodução de outros aplicativos de música ou podcast no seu telefone.

Embora o tutorial acima seja voltado para usuários do Pokemon Go, tecnicamente você pode fazer o mesmo com qualquer outro aplicativo. Basta modificar o nome do pacote na etapa 15 com qualquer outro aplicativo que você desejar. Apenas tome cuidado para não restringir essa permissão de todo jeito, porque o Google intencionalmente ocultou essa permissão de restrição, para que os usuários não estragassem tudo.

Veja outros ótimos tutoriais como esse em nossa categoria de tutoriais. Mantenha-se atualizado sobre as últimas notícias com o aplicativo Labs.