Bonjour,

Je me retrouve confronté à un problème.
Mon application Android fonctionne comme host USB.
Dessus sont connectés des devices USB de ma conception.
Le tout forme une application complète sans HID.

Mon problème est le suivant:

Android m'impose de demander à l'utilisateur l'autorisation d'utiliser un device, sinon l'appel de ma méthode openDevice() sur l'UsbManager retourne null

La doc explique que si on veut éviter la demande à l'utilisateur, qu'il faut utiliser un filtre dans le manifest: Je l'ai fait.
Mais manifestement, et ça semble confirmé par la doc, ça ne semble pas fonctionner lorsque le device est connecté avant de lancer l'application, ça ne fonctionne que si on connecte le device alors que l'application fonctionne.

Or mon installation est fixe: L'hôte est sous tension continue et les devices sont branchés. Or, en cas de perte de tension ou en cas d'anomalie, le tout se retrouve simultanément sous tension, l'appli se lance avec les devices déjà connectés: L'évènement broadcast de connexion n'est pas déclenché, je scanne directement mes devices, et donc le filtre ne sert à rien.

Demander l'autorisation à l'utilisateur pose de nombreux problèmes, dont:

1- Si l'application redémarre en l'absence de l'utilisateur, elle se retrouve bloquée
2- L'appareil hôte ne dispose ni d'un écran ni d'un clavier, et donc l'utilisateur ne peut ni voir la requête ni donner son autorisation

Une âme charitable a-t-elle la solution à ce problème?

Merci d'avance,
Claude