Como ativar os controles da barra de navegação de reprodução de mídia no Android O ao reproduzir música

Como ativar os controles da barra de navegação de reprodução de mídia no Android O enquanto você reproduz música ativamente. Usa Tasker, SecureTask e Notification Listener.

O Android O Developer Preview foi lançado há apenas uma semana, mas estamos descobrindo rapidamente cada vez mais usos potenciais para todos os novos recursos. Um dos recursos que mais nos entusiasma é o novo personalizador da barra de navegação encontrado no System UI Tuner.

Na inspeção inicial, a implementação do Google parece bastante básica. Embora você possa adicionar uma nova tecla de navegação à esquerda e à direita das teclas existentes, qualquer tecla adicionada ficará permanentemente situada na barra de navegação. Infelizmente, isso torna esse recurso inútil para muitas pessoas, já que muitas das teclas que você deseja na barra de navegação funcionam apenas em circunstâncias específicas. Mas como mostramos antes, é de fato possível habilite teclas específicas da barra de navegação sob suas próprias condições personalizáveis

. Neste tutorial, mostraremos como habilite botões de controle de reprodução de mídia em sua barra de navegação quando o Google Play Music ou qualquer outro aplicativo de música estiver reproduzindo música.

Obrigado Eli Irvin por testar isso para mim e capturar esta gravação de tela!


Requisitos:

  • Tasker ($2.99)
  • SecureTask
  • Ouvinte de notificação

Tasker é necessário porque é o aplicativo de automação que usamos para detectar em qual aplicativo estamos e enviar comandos através do plug-in SecureTask, que é o que cuidará da mudança de nossa navegação bar. Depois de instalar esses aplicativos, precisamos configurá-los.

Para detectar quando a música está sendo reproduzida, precisamos habilitar o Notification Access para o plugin Notification Listener. Fazer isso é muito rápido, basta acessar Configurações e pesquisar “acesso a notificações” na barra de pesquisa. Abra a página de configurações, procure Notification Listener e conceda-lhe acesso para ler notificações.

Em seguida, precisamos conceder ao SecureTask a capacidade de modificar as configurações do sistema em nosso dispositivo. Para fazer isso, temos que conceder ao SecureTask uma permissão especial conhecida como WRITE_SECURE_SETTINGS que é normalmente inacessível para aplicativos regulares, mas pode ser concedido manualmente por um usuário através do uso do ADB. Portanto, você precisará ter o ADB instalado e funcionando em sua máquina para que isso funcione. Felizmente, conceder essa permissão é algo único, e usaremos o SecureTask em futuros tutoriais relacionados ao Android O, então definitivamente aconselho você a fazer isso agora. Se você seguiu meus tutoriais anteriores, onde eu disse para instalar o AutoTools, o SecureTask tem menos recursos, mas tem apenas o suficiente para nossas necessidades aqui.

Configurando o ADB

A primeira coisa que você precisa fazer é baixar o binário ADB para o seu sistema operacional específico. Você pode fazer isso aqui. Depois de baixá-los, você precisa se certificar de que possui o motorista adequado se você estiver no Windows.

Depois de extrair o binário para uma pasta separada e instalar o driver, precisamos ativar a depuração USB no smartphone. Para fazer isso, abra Configurações e vá para Sobre o telefone. Toque no número da versão 7 vezes até aparecer uma caixa de diálogo informando que você desbloqueou as opções do desenvolvedor. Você pode acessar as opções do desenvolvedor em Configurações agora. Aparentemente, no Android O, você precisa inserir seu PIN/senha antes de abrir as Opções do desenvolvedor. Faça isso e procure Depuração USB e ative-a.

Agora conecte seu telefone e abra um prompt de comando no mesmo diretório onde você extraiu o binário ADB. (Usuários do Windows, segurem shift + clique com o botão direito nessa pasta e selecione “abrir prompt de comando aqui”.) Digite adb devices no prompt de comando. Você verá uma mensagem informando que o servidor ADB está sendo iniciado e, em seu telefone, verá um prompt solicitando que você conceda acesso ADB ao seu computador. Aceite isso. Agora quando você entra adb devices no prompt de comando, você deverá ver o número de série do seu dispositivo; se sim, você teve sucesso.

Concedendo WRITE_SECURE_SETTINGS ao SecureTask

Com um prompt de comando ADB aberto, digite o seguinte comando para conceder ao SecureTask a permissão necessária.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask agora terá a capacidade de modificar as configurações do sistema sem acesso root! Agora estamos prontos para passar para Tasker.

Configurando os perfis Tasker

Estaremos criando dois perfis Tasker separados aqui. Um que reage quando nosso reprodutor de música preferido (no meu exemplo, Google Play Music) inicia a reprodução de música (é notificação foi postada) e um que reage quando a notificação do mesmo reprodutor de música foi demitido.

Abra o Tasker e crie um novo perfil pressionando o ícone + no canto inferior direito. Começaremos criando um perfil que é acionado quando a notificação do reprodutor de música é postada. Nomeie o perfil como "Ativar teclas de navegação de mídia" e selecione um contexto de evento. Vá para Plugin -> Ouvinte de Notificação -> Ouvinte de Notificação. Para o evento de notificação, selecione Postou e em Aplicativos selecione os aplicativos que você deseja monitorar (por exemplo. Google Play Música).

Quando terminar, volte e Tasker solicitará que você anexe uma tarefa a este perfil. Você pode nomear a tarefa, mas não é necessário. Basta clicar na marca de seleção para entrar na tela de edição de tarefas. Assim que entrar, adicionaremos duas ações a esta tarefa.

  1. A1: Plugin -> SecureTask -> Configurações seguras. Ação: Escrever. Contexto: secure sysui_nav_bar_left. Valor: key(88:com.android.systemui/2131230907). Este é KEYCODE_MEDIA_PREVIOUS e aparecerá como uma seta para a esquerda na sua barra de navegação.
  2. A2: Plugin -> SecureTask -> Configurações seguras. Ação: Escrever. Contexto: secure sysui_nav_bar_right. Valor: key(87:com.android.systemui/2131231004). Este é KEYCODE_MEDIA_NEXT e aparecerá como uma seta para a direita na sua barra de navegação.

A seguir, criaremos o segundo perfil que é acionado quando a notificação do aplicativo de música é dispensada. Este perfil eliminará as teclas de controle de mídia quando a notificação for descartada. Crie um novo perfil e nomeie-o como “Desativar teclas de navegação de mídia”. Crie novamente um Contexto de Evento e selecione o plugin Notification Listener. Desta vez, para o evento de notificação, selecione Removido mas selecione novamente o mesmo aplicativo de música que deseja monitorar.

Adicione novamente uma tarefa (sem nome, tudo bem) e crie as duas ações a seguir:

  1. A1: Plugin -> SecureTask -> Configurações seguras. Ação: Escrever. Contexto: secure sysui_nav_bar_left. Valor: null.
  2. A2: Plugin -> SecureTask -> Configurações seguras. Ação: Escrever. Contexto: secure sysui_nav_bar_right. Valor: null.

Essas duas ações limparão as teclas da barra de navegação para que as teclas de controle de reprodução de mídia não estejam mais lá.

É isso! Agora, ao iniciar a reprodução de música, você verá teclas adicionais na barra de navegação para controlar a mídia, mas quando você descartar a notificação do seu reprodutor de música, essas teclas desaparecerão.


Baixar e importar

Tal como acontece com todos os tutoriais relacionados ao Tasker, forneceremos os arquivos XML que você pode baixar e importar. Baixe os arquivos prf.xml do AndroidFileHost abaixo e salve-os em seu armazenamento interno. Abra o Tasker e mantenha pressionado a guia Perfis na parte superior até ver um botão Importar. Toque nele e procure os arquivos XML que você acabou de salvar e selecione-os para importá-los (você terá que fazer isso um por um). Certifique-se de ter concedido acesso à notificação ao Notification Listener ativado e concedido o Permissão WRITE_SECURE_SETTINGS para SecureTask conforme mencionado em meu artigo, caso contrário, esses perfis não funcionarão qualquer coisa no seu telefone!

Baixe o perfil "Ativar teclas de navegação de mídia" em AndroidFileHost

Baixe o perfil "Desativar teclas de navegação de mídia" em AndroidFileHost

Se você está se perguntando o que mais podemos realizar com SecureTask e Android O, fique ligado no Portal XDA porque temos muito mais para compartilhar. Espere mais tutoriais sobre como fazer com que sua barra de navegação no Android O realize muitas funções úteis!