Como exibir uma alternância do modo Picture-in-Picture ao usar o YouTube no Android O

Um tutorial sobre como exibir uma alternância para ativar o modo picture-in-picture por aplicativo no Android O, usando Tasker e SecureTask.

Em nosso último artigo, fomos os primeiros a mostrar como você pode usar O novo modo picture-in-picture (PiP) do Android O agora no seu smartphone. Para recapitular, o método envolve o envio de uma determinada chave conhecida como KEYCODE_WINDOW que é definida pela constante 171. Este código-chave é enviado mais facilmente ativando o personalizador de barra de navegação oculta no SystemUI Tuner, adicionando um novo item da barra de navegação que aciona o código-chave.

No entanto, esse método significa que você terá um ícone permanente na barra de navegação para alternar o modo picture-in-picture, mesmo quando não for aplicável. O PiP funciona apenas em determinados aplicativos, ou seja, aplicativos que podem exibir conteúdo de vídeo em tela cheia, por isso não faz sentido que haja um botão para alterná-lo em todos os aplicativos. No final do artigo, afirmamos que mostraríamos como exibir o modo picture-in-picture por aplicativo. Veja como isso é feito.


Exibir alternância Picture-in-Picture por aplicativo

Requisitos:

  • Tasker ($2.99)
  • SecureTask

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 os dois aplicativos, precisamos configurá-los.

Para que Tasker detecte em qual aplicativo estamos, precisamos conceder seu Serviço de Acessibilidade. Fazer isso é muito rápido, basta ir em Configurações -> Acessibilidade e procurar “Tasker” na lista de Serviços. Habilite o serviço de acessibilidade.

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 o perfil Tasker

Abra o Tasker e crie um novo perfil. Nomeie-o como "Alternar imagem em imagem". Selecione os Aplicativo Contexto e procure o aplicativo de vídeo no qual deseja ativar a tecla da barra de navegação (por exemplo. YouTube). Selecione os aplicativos desejados e volte para criar uma tarefa.

Tasker solicitará que você anexe uma tarefa a este novo perfil. Crie uma nova tarefa quando solicitado e nomeie-a (ou não). Quando você estiver na tela de criação de tarefas, adicione uma nova ação acessando Plug-in -> SecureTask -> Configurações seguras. Pressione o ícone de lápis para abrir a configuração do SecureTask.

Em Ação, escolha Escrever. Em Configuração, coloque secure sysui_nav_bar_right. Abaixo do valor, coloque key(171:com.android.systemui/2131230944). Saia para o menu principal do Tasker. Adicione uma tarefa de saída a este perfil mantendo pressionada a nova tarefa que acabamos de criar e selecionando "adicionar tarefa de saída". Repita a ação acima, mas desta vez para o valor coloque nulo.

É isso! Ao entrar no aplicativo do YouTube (ou em qualquer outro aplicativo de sua escolha), você verá um ícone aparecer no lado direito da barra de navegação, permitindo alternar o modo picture-in-picture.


Baixar e importar

Tal como acontece com todos os tutoriais relacionados ao Tasker, forneceremos o arquivo XML que você pode baixar e importar. Baixe o arquivo .prf.xml do AndroidFileHost abaixo e salve-o 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 o arquivo XML que você acabou de salvar e selecione-o para importá-lo. Certifique-se de ter o Serviço de Acessibilidade do Tasker ativado e de ter concedido WRITE_SECURE_SETTINGS permissão para SecureTask conforme mencionado em meu artigo, caso contrário, este perfil não fará nada no seu telefone!

Baixe o perfil "Alternar Picture-in-Picture" 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 para compartilhar. Espere mais tutoriais sobre como fazer com que sua barra de navegação no Android O realize muitas funções úteis!