J'ai une application fonctionnant sur une tablette Android sans nom rootée fonctionnant sous ICS 4.0.3 qui contrôle un périphérique USB via l'interface en mode hôte USB. Le fichier Android.hardware.usb.host.xml est présent dans /system/etc/permissions et tout fonctionne à merveille. Sauf que...
Lorsque je lance l'application pour la première fois après un redémarrage et que je branche le périphérique USB, j'obtiens une fenêtre popup indiquant "Allow the app APPNAME to access the USB device ? [] Utiliser par défaut pour ce périphérique USB. Cancel OK" et je dois appuyer sur OK avant qu'elle puisse commencer à utiliser le périphérique.
Je dois désactiver la confirmation de l'utilisateur pour que l'application puisse utiliser le dispositif immédiatement. Comment dois-je m'y prendre ? J'ai reçu quelques suggestions concernant l'utilisation d'un générateur de touches pour simuler l'utilisateur qui appuie sur le bouton à l'écran, mais je préférerais éviter ce genre d'approche et faire en sorte que la demande de confirmation ne se produise pas.
Je ne peux probablement pas obtenir du fournisseur qu'il me construise un noyau personnalisé, mais je devrais pouvoir obtenir d'eux la clé de signature du firmware pour que je puisse signer mon application comme une application système, si cela peut aider.
Un problème connexe : cocher la case "Utiliser par défaut pour ce périphérique USB" ne semble pas aider - si je débranche et rebranche le périphérique, je reçois à nouveau la demande de confirmation. J'ai remarqué dans cette situation que le numéro du périphérique dans /dev/bus/usb/001/ change à chaque fois que je débranche et rebranche (001, 002, 003 etc.) ce qui explique peut-être ce problème particulier.
0 votes
Que se passe-t-il si vous déployez l'application dans /system/app ? Vous pouvez essayer avec et sans signature du système. J'écris ce commentaire parce que (a) je ne l'ai pas essayé et (b) je ne sais pas si ce modèle de déploiement est disponible pour vous.