Como adicionar controles de reprodução de mídia à barra de navegação ao reproduzir música

Perfil Tasker que adiciona controles de reprodução de mídia à barra de navegação ao reproduzir música. Funciona em dispositivos Android Nougat (7.0+), como Google Nexus e Pixels.

Desde que o Google introduziu pela primeira vez o conceito de teclas de navegação de software no Android, os usuários têm solicitado uma maneira de personalizar quais chaves estão disponíveis para os usuários. Embora as ROMs personalizadas ofereçam esse nível de personalização há anos, é apenas no primeira prévia do desenvolvedor Android O encontramos um método oficial do Google para modificar a barra de navegação. No entanto, como muitos recursos anteriores, esse sintonizador de barra de navegação não apareceu do nada e, na verdade, estava secretamente em testes para o Android Nougat. Porém, foi apenas recentemente que descobrimos que esse sintonizador de barra de navegação oculto no Android Nougat na verdade, pode ser acessado sem a necessidade de acesso root, uma ROM personalizada ou mods de UI do sistema. Conseqüentemente, um novo caminho de personalização sem raiz se abriu para muitos usuários e hoje iremos guiá-lo através de uma solicitação popular:

como adicionar controles de reprodução de mídia à barra de navegação ao reproduzir música (Android 7.0+, sem necessidade de root!)

Como você pode ver na captura de tela acima, meu dispositivo de teste (um dispositivo Google Nexus 6 sem root e bloqueado por bootloader no Android 7.0 Nougat) possui o conjunto padrão de teclas da barra de navegação até que a reprodução da música seja iniciada no Google Play Música. Quando a reprodução da música começa, duas novas teclas são adicionadas à barra de navegação: um botão para reproduzir a faixa anterior e um botão para reproduzir a próxima faixa. Essas teclas permanecem na barra de navegação até eu descartar a notificação do Google Play Música. Dessa forma, ainda posso usar meu telefone para outros aplicativos, mantendo essas teclas de controle de reprodução até decidir que terminei de ouvir música.

Embora minha captura de tela acima mostre esta configuração sendo usada para o Google Play Music, ela pode ser facilmente modificada para funcionar com praticamente todas as músicas, podcast ou aplicativo de rádio que existe - desde que esse aplicativo exiba uma notificação durante a reprodução e aceite teclas anteriores/seguintes de mídia (ambas altamente provável). Este tutorial foi ligeiramente modificado do meu tutorial original voltado para usuários do Android O, no entanto, muitos, muitos outros usuários poderão aproveitar as vantagens deste tutorial, pois ele não se limita aos usuários que executam o Android O Developer Preview. Dito isto, vamos começar.


Requisitos

Sistema Requisitos: você precisará de um dispositivo Android 7.0+ compatível com o personalizador da barra de navegação AOSP. Sabe-se que Google Nexus, Pixel e alguns telefones Sony/HTC funcionam. A maioria dos dispositivos que estão próximos do Android padrão provavelmente não removeram o personalizador da barra de navegação AOSP e devem funcionar. Isso significa que provavelmente não funcionará em seu dispositivo LG, Samsung ou Huawei/Honor padrão. Consulte a seção "compatibilidade" na primeira postagem deste tópico. (Observação: o OEM do seu dispositivo pode não estar listado nesse tópico. A única maneira de saber com certeza se o seu dispositivo é compatível é experimentar o aplicativo, o que mostraremos a seguir.)

Requisitos do aplicativo:

  • Barra de navegação personalizada (Grátis para 2 perfis)
  • Tasker ($2.99)
  • Ouvinte de notificação (Livre)

Configuração: barra de navegação personalizada

A razão pela qual precisamos da Barra de Navegação Personalizada é óbvia - este aplicativo é o que nos permitirá modificar a barra de navegação para exibir essas teclas de reprodução de mídia. (Tecnicamente, na verdade não precisamos deste aplicativo para essas modificações, pois podemos usar comandos shell ou outros plug-ins do Tasker, mas para facilitar as coisas para nossos usuários, mostraremos como para configurar isso usando este aplicativo maravilhoso.) O Notification Listener é necessário para monitorar quais notificações são postadas na barra de status, para que saibamos quando a reprodução da música foi iniciada e terminou. Finalmente, Tasker é o aplicativo de automação que preenche a lacuna entre o Notification Listener e a Custom Navigation Bar - ele usa Ouvinte de notificação para detectar quando a música começou/termina e aciona a barra de navegação personalizada para alterar a barra de navegação de acordo.

A primeira coisa que precisamos fazer é ter certeza de que é possível modificar a barra de navegação do seu dispositivo. Se o seu dispositivo for um dos listados como compatíveis no Tópico da barra de navegação personalizada, então é provável que seja. Podemos verificar executando o breve tutorial que acompanha este aplicativo.

instale o aplicativo da Google Play Store, abra o aplicativo e prossiga pelas telas introdutórias. A barra de navegação personalizada solicitará que você conceda uma determinada permissão chamada WRITE_SECURE_SETTINGS para continuar usando o aplicativo. Existem duas maneiras de fazer isso, conforme indicado no aplicativo.

  1. Se você tiver um dispositivo com acesso root, a barra de navegação personalizada solicitará acesso de superusuário. Conceda-o e o aplicativo concederá automaticamente essa permissão.
  2. Se o seu dispositivo não estiver enraizado, você precisará conceder a permissão por meio do ADB. Abra um prompt de comando/terminal em sua máquina e digite o seguinte comando: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

Depois de conceder essa permissão ao aplicativo por meio de um dos dois métodos acima, o aplicativo prosseguirá com um teste de compatibilidade. Se a sua barra de navegação não mudar, infelizmente você está sem sorte. Se a sua barra de navegação mudar para exibir um botão de seta para a direita, parabéns, seu dispositivo é compatível! Agora podemos modificar nossa barra de navegação.

Configuração: ouvinte de notificação

Para que o Notification Listener intercepte notificações, precisamos conceder a ele uma permissão especial conhecida como permissão de "acesso à notificação". Essa permissão não é concedida por meio de uma caixa de diálogo de permissão padrão, mas precisa ser concedida por meio de um menu de configurações especial pelo usuário. Felizmente, isso é muito simples de fazer. Basta abrir o aplicativo Notification Listener e o aplicativo irá incomodá-lo para ativar essa permissão. Basta pressionar o botão e o aplicativo o levará para a tela onde você pode conceder essa permissão ao aplicativo. Habilite o acesso às notificações do aplicativo.


Tutorial

Depois de confirmar que a barra de navegação personalizada é compatível com o seu dispositivo e que o acesso às notificações está habilitado para o Notification Listener, é hora de configurar tudo isso. A primeira coisa que precisamos fazer é criar um novo perfil na Barra de Navegação Personalizada que, quando habilitado, adicionará uma chave anterior/próximo à nossa barra de navegação. Aqui estão as instruções passo a passo:

  1. Abra a barra de navegação personalizada e toque em Perfis na seção Automação.
  2. Toque no + ícone no canto superior direito para adicionar um novo perfil.
  3. Toque no perfil que acabou de ser criado.
  4. Na seção Perfil, toque em Nome para nomear o perfil. Diga Controle de mídia.
  5. Na seção "Botão extra esquerdo", pressione Tipo. Selecione Código chave como o tipo.
  6. Agora, na seção "Botão extra esquerdo", você verá duas opções adicionais. Toque em Código chave.
  7. Role para baixo e encontre o Mídia Anterior chave.
  8. Agora toque em Ícone em "Botão extra esquerdo". Para o ícone selecione pular anterior.
  9. Repita as etapas 5 a 8, mas para "Botão extra direito". Desta vez, porém, o código-chave será Próxima mídia e o ícone deve ser pular próximo.
  10. Teste seu perfil rolando para cima e verificando Habilitado. Se você vir as teclas da barra de navegação anterior/próxima na parte inferior, então este perfil funciona!

Agora que configuramos o perfil da barra de navegação personalizada, criaremos nosso perfil Tasker que ativará/desativará esse perfil quando a música estiver tocando. Primeiro, criaremos o perfil que será acionado quando nosso aplicativo de música/podcast/rádio postar uma notificação. Aqui estão as instruções passo a passo:

  1. Abra o Tasker e crie um novo perfil tocando no ícone + no canto inferior direito.
  2. Selecione os Evento contexto.
  3. Toque em Plugar.
  4. Selecione os Ouvinte de notificação plugar.
  5. Selecione os ouvinte de notificação ação que aparece.
  6. Toque no ícone de lápis para abrir a configuração do Notification Listener.
  7. Deixe o evento de notificação como postou mas em aplicativos selecione o(s) aplicativo(s) que você deseja monitorar. Por exemplo, escolhi o Google Play Music aqui. Toque no ícone da marca de seleção no canto superior direito quando terminar.
  8. De volta ao Tasker, pressione a tecla de seta para trás no canto superior esquerdo para voltar à tela principal do Tasker.
  9. Tasker solicitará que você anexe uma tarefa a este perfil que acabamos de criar. Selecione para criar uma nova tarefa. Não se preocupe em nomear a tarefa.
  10. Quando estiver na tela de edição de tarefas do Tasker, adicione uma nova ação tocando no botão + na parte inferior central.
  11. Selecione Plugar das categorias Ação.
  12. Escolha o Barra de navegação personalizada plugar.
  13. Toque novamente no ícone de lápis, que desta vez nos levará à página de configuração da barra de navegação personalizada.
  14. Para a ação deixe como "Habilitar perfil." Em Selecionar perfil, escolha Controle de mídia. Clique na marca de seleção no canto superior direito quando terminar.
  15. Pressione voltar e voltar mais uma vez até chegar à tela principal do Tasker.

O perfil Tasker acima que criamos ativará o perfil da barra de navegação personalizada do Media Control para adicionar a reprodução de mídia teclas quando a reprodução de mídia começa, mas agora precisamos desativar o perfil Media Control quando descartarmos o aplicativo de mídia notificação. Aqui estão as instruções:

  1. Crie um novo perfil e selecione o Evento contexto.
  2. Vá para Plugin -> Ouvinte de Notificação -> Ouvinte de Notificação.
  3. Em "Evento de notificação", desta vez selecione Removido. Selecione novamente o(s) mesmo(s) aplicativo(s) que deseja monitorar. Eu escolhi o Google Play Music aqui. Toque na marca de seleção quando terminar.
  4. Volte para a tela principal do Tasker, onde será solicitado que você adicione uma tarefa a este novo perfil. Adicione uma tarefa, mas não se preocupe em nomeá-la.
  5. Quando estiver na tela de edição de tarefas do Tasker, adicione uma nova ação. Vá para Plug-in -> Barra de navegação personalizada.
  6. Desta vez, para "Ação", selecione para Desativar perfil mas novamente escolha o Controle de mídia perfil. Toque no botão da marca de seleção na parte superior quando terminar.
  7. Saia da tarefa e volte para a tela principal do Tasker.

Depois de criar os dois perfis do Tasker, um para quando a notificação do aplicativo de mídia for postada e outro para quando a(s) mesma(s) notificação(ões) for(em) removida(s), estará pronto. Tasker agora exibirá teclas de reprodução de mídia em sua barra de navegação sempre que a reprodução de mídia for iniciada e limpará essas teclas da barra de navegação quando a reprodução de mídia terminar!


Usando comandos Shell

Dada a facilidade de uso do XDA Senior Member paphonbde Barra de navegação personalizada aplicativo, realmente não vejo necessidade de fornecer instruções detalhadas passo a passo sobre como fazer isso com outros plug-ins Tasker, como SecureTask ou Ferramentas automáticas (ou a função run shell no Tasker). No entanto, certamente é possível, e pelo menos fornecerei um resumo dos comandos necessários para replicar esta configuração sem o uso do aplicativo do paphonb.

A primeira coisa que você precisa fazer é instalar o SecureTask ou o AutoTools. Você precisará conceder a permissão WRITE_SECURE_SETTINGS a qualquer aplicativo escolhido para controlar o sintonizador da barra de navegação.

Para SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

Para AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

Em seguida, você precisará baixar os ícones que usará para as teclas anterior/seguinte. Você precisará dos ícones no formato PNG e, quanto ao tamanho, poderá determinar o tamanho dos ícones necessários consultando seu métricas de densidade de exibição do dispositivo no Material.io e correlacionando isso com um gráfico de referência de tamanho de ícone. IconsDB.com é um bom recurso para ícones gratuitos. Salve os ícones que você usará como previous.png e next.png em uma pasta chamada /NavIcons no diretório raiz do seu armazenamento.

Finalmente, você inserirá este comando para mostrar os botões de controle de mídia:

settings put secure sysui_nav_bar "key(88:file:///storage/emulated/0/NavIcons/previous.png),back; home; recent, key(87:file:///storage/emulated/0/NavIcons/next.png)"

onde a chave #88 se refere a KEYCODE_MEDIA_PREVIOUS e a chave #87 refere-se a KEYCODE_MEDIA_NEXT.

Em seguida, para reverter as teclas da barra de navegação para o layout padrão (ou seja, quando você desliza a notificação de reprodução de mídia), digite este comando:

settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"

Em essência, a configuração do Perfil Tasker será exatamente a mesma, pois a configuração do Notification Listener acima não será alterada. Mas se você optar por não usar o aplicativo Barra de navegação personalizada para controlar a barra de navegação, poderá usar os dois comandos shell acima como alternativa. Observe que, a menos que você esteja enraizado e usando a ação “executar shell” no Tasker, o processo para colocar esses comandos no SecureTask ou AutoTools é por sua conta. Na verdade, não é tão difícil de fazer, mas muitos usuários acham mais fácil usar apenas o aplicativo do paphonb, então não entrarei em mais detalhes aqui.


Conclusão

É isso neste tutorial. Em tutoriais futuros, mostrarei mais usos práticos potenciais para alterar sua barra de navegação, especialmente de maneira contextual usando um aplicativo de automação como o Tasker.

Por favor, apoie o XDA-Developers de todas as maneiras que puder! Recentemente descobrimos que existiam vários blogs recortando, copiando, colando nossos tutoriais originais e outros conteúdos compartilhados por nossos usuários nos fóruns. Esses blogs têm tentado receber o crédito pelo enorme esforço que fazemos na compilação desses tutoriais, em vez de fornecer conteúdo de qualidade por conta própria. Você não encontrará tutoriais como os que escrevemos em nosso categoria de tutoriais ou tutoriais de nossos fóruns em qualquer outro lugar.

Siga-nos no Twitter, Google+, Facebook, ou YouTube. Confira nosso Laboratórios XDA app para uma maneira rápida de navegar em nossos fóruns (e considere obter XDA sem anúncios também!) no seu dispositivo móvel e confira nosso lançamento recente Feed XDA app se você possui um OnePlus 3 ou OnePlus 3T! Obrigado e fique ligado em nosso próximo tutorial!