Eu tenho um aplicativo em execução em um tablet Android sem nome enraizado executando o ICS 4.0.3 que controla um dispositivo USB por meio da interface do modo host USB. O arquivo android.hardware.usb.host.xml está presente em / system / etc / Permissions e tudo funciona maravilhosamente. Exceto...
Quando executo o aplicativo pela primeira vez após uma reinicialização e conecto o dispositivo USB, recebo uma janela pop-up dizendo "Permitir que o aplicativo APPNAME acesse o dispositivo USB? [] Use por padrão este dispositivo USB. Cancele OK" e Eu tenho que tocar em OK antes que ele possa começar a usar o dispositivo.
Preciso desativar a confirmação do usuário para que o aplicativo possa usar o dispositivo imediatamente. Como eu faço isso? Pareço algumas sugestões sobre o uso de um gerador de pressionamento de tecla para simular o usuário tocando no botão na tela, mas eu prefiro evitar esse tipo de abordagem e configurar as coisas para que a solicitação de confirmação simplesmente não aconteça.
Provavelmente, não consigo que o fornecedor faça uma compilação personalizada do kernel para mim, mas devo conseguir a chave de assinatura do firmware para poder assinar meu aplicativo como um aplicativo do sistema, se isso ajudar.
Um problema associado: marcar a caixa "Usar por padrão para este dispositivo USB" não parece ajudar - se eu desconectar e reconectar o dispositivo, receberei o prompt de confirmação novamente. Percebi nessa situação que o número do dispositivo em / dev / bus / usb / 001 / muda sempre que eu desconecto e reconecto (001, 002, 003 etc), o que talvez explique esse problema específico.