Esta pergunta do StackOverflow explora como habilitar um aplicativo proprietário do dispositivo e, portanto, o modo quiosque, na visualização do desenvolvedor do Android L. Como o método requer uma compilação do Android por depuração de usuários, rooteamento do dispositivo e cópia de um arquivo XML no sistema de arquivos raiz, não parece adequado para a implantação em massa de um dispositivo Android de função única dentro de uma empresa.
Como os aplicativos proprietários do dispositivo serão instalados nos dispositivos Android L de produção?
kiosk-mode
5.0-lollipop
Adrian Cox
fonte
fonte
Respostas:
( Editar: atualizado após mais alguns testes)
Verifique a documentação mais recente .
Esse recurso parece ser chamado de fixação de tela agora e o aplicativo não precisa ser o proprietário do dispositivo. Se o proprietário do dispositivo não estiver definido, o usuário será solicitado a aceitar. Mas há problemas com isso para uso do quiosque, mencionados abaixo.
Se você ativar a fixação de tela de forma programática (aplicativo que não seja o proprietário do dispositivo) ou no dispositivo usando o alfinete nos últimos casos, obterá o seguinte comportamento:
Uma caixa de diálogo é exibida perguntando ao usuário se ele deseja ativar a fixação da tela e se deseja exigir uma senha para sair. Se eles pressionarem sim, a barra de status e as notificações desaparecerão, os botões Voltar, Página Inicial e Recentes NÃO desaparecerão. Tocar na tela inicial ou nos recentes faz um brinde aparecer informando ao usuário como sair da fixação da tela.
O usuário pode então segurar e recuar para sair da fixação da tela. Se o usuário selecionado para solicitar uma senha, ele será chutado diretamente para a tela de bloqueio. Esse comportamento significa que não é adequado para uma imo de quiosque. Como é muito fácil para os usuários do quiosque acabar olhando para a tela de bloqueio.
Para obter um modo de quiosque adequado, precisamos definir o proprietário do dispositivo. A documentação do Google diz que você precisa fazer isso com a NFC:
Usar a NFC para fazer isso parece um pouco complexo (e se um dispositivo não tiver NFC?). Ainda não investiguei isso, portanto, se alguém puder fornecer informações sobre como definir o proprietário do dispositivo pela NFC? Que agora se torna o ponto principal da sua pergunta. (ou seja, definindo o proprietário do dispositivo em um dispositivo não raiz)
Mas para confirmar o comportamento é o esperado, se você faz root em um dispositivo, pode definir o proprietário do dispositivo conforme as instruções anteriores do Google (adicionando um device_owner.xml), como mencionei aqui
Agora você pode bloquear corretamente o aplicativo, nenhuma caixa de diálogo é exibida para o usuário aceitar, quando ativado, os botões recentes e o botão home desaparecem e o usuário não pode sair do aplicativo a menos que seu aplicativo seja desbloqueado. Um modo de quiosque adequado. Eu testei isso em um Nexus 7 2013 com a versão mais recente do Lollipop.
O seguinte snippet ativa o bloqueio:
fonte
Não posso comentar uma resposta que seja um pouco incômoda, mas complementar à resposta de tagy22 que você pode usar
dpm
para definir o proprietário do dispositivo. Mais detalhes aqui .fonte
dpm
o trabalho não seria concluído se uma conta (como a conta do Google) estivesse definida no dispositivo.