Tengo una aplicación que se ejecuta en una tableta Android sin nombre rooteada que ejecuta ICS 4.0.3 que controla un dispositivo USB a través de la interfaz de modo de host USB. El archivo android.hardware.usb.host.xml está presente en / system / etc / permissions y todo funciona de maravilla. Excepto...
Cuando ejecuto la aplicación por primera vez después de un reinicio y luego enchufo el dispositivo USB, aparece una ventana emergente que dice "¿Permitir que la aplicación APPNAME acceda al dispositivo USB? [] Usar de forma predeterminada para este dispositivo USB. Cancelar Aceptar" y Tengo que tocar Aceptar antes de que pueda comenzar a usar el dispositivo.
Necesito desactivar la confirmación del usuario para que la aplicación pueda usar el dispositivo de inmediato. ¿Cómo hago esto? Me parecen algunas sugerencias sobre el uso de un generador de pulsación de teclas para simular que el usuario toque el botón en la pantalla, pero prefiero evitar ese tipo de enfoque y configurar las cosas para que la solicitud de confirmación simplemente no suceda.
Probablemente no pueda hacer que el proveedor haga una compilación de kernel personalizada para mí, pero debería poder obtener la clave de firma del firmware para poder firmar mi aplicación como una aplicación del sistema, si eso ayuda.
Un problema asociado: marcar la casilla "Usar de forma predeterminada para este dispositivo USB" no parece ayudar; si desconecto y vuelvo a conectar el dispositivo, aparece el mensaje de confirmación nuevamente. He notado en esta situación que el número de dispositivo en / dev / bus / usb / 001 / cambia cada vez que desconecto y vuelvo a conectar (001, 002, 003, etc.), lo que tal vez explica este problema en particular.