Android USB Device Autorisation et Filtre d'Intention
J'ai une Application Android qui va interagir avec un périphérique USB, dans le Développeur Android documentation officielle pour Obtenir la permission de communiquer avec un périphérique il dit:
Note: Si votre application utilise un filtre d'intention de découvrir les périphériques USB qu'ils soient connectés, il reçoit automatiquement une autorisation si l'utilisateur permet à votre application de gérer l'intention. Si non, vous devez demander la permission explicite dans votre demande avant de vous connecter à l'appareil.
Le Filtre d'Intention doit être déclarée dans la AndroidManifest.xml et à l'aide d'un fichier de ressources qui comprennent le vendor id et product-id.
Si je branche mon appareil ne se passe rien, même avec l'Intention déclarée.
Donc, je dois utiliser la méthode mentionnée dans la même documentation officielle qui implique explicitement demander la permission.
Cela fonctionne et je peux communiquer avec l'appareil, mais il arrive que l'utilisateur a donner la permission à chaque fois que l'application est démarrée, ou l'appareil raccordé. En fin de compte c'est un message à l'utilisateur de demander confirmation à chaque fois que l'appareil est branché et le démarrage de l'application, et de donner la même autorisation à chaque fois n'est pas souhaitable.
Donc, si l' "... reçoit automatiquement l'autorisation ..." ne fonctionne pas.
Comment puis-je faire le filtre d'intention de travailler?
Ce qui me manque?
Puis-je avoir d'autres alternatives?
Cette question: Android USB Autorisations de boîte de Dialogue n'apparaît jamais eu le problème inverse, mais la solution ne fonctionne pas pour moi.
Que l'application d'un Système d'application et de contourner les autorisations de ne pas travailler pour moi soit comme indiqué ici: USB open accessoire autorisations par le biais d'un service dans android
Toute aide est grandement appréciée
OriginalL'auteur Anibaru | 2013-03-06
Vous devez vous connecter pour publier un commentaire.
J'ai le même problème, dans votre AndroidManifest.xml dans l'Activité que l'utilisation de l'Appareil écrire ceci:
Vous devez également créer un filtre de fichier dans votre dossier de ressources xml, par exemple res/xml/device_filter:
Vendor-id et product-id ici à être remis en décimal - ci-dessus à la fois la VID et PID sont 0x0123. vous voyez USB périphérique d'accès pop-up suppression?
vous ne devez pas appeler mManager.requestPermission(appareil, mPermissionIntent), de sorte que vous devez appeler directement mManager.openDevice(mDevice); et vous pouvez communiquer normalement sans la nécessité apparaissent autorisation de message pop-up.
Ce qui concerne,
Samuel Reque
[email protected]
Seulement la première fois que vous exécutez l'application, les demandes d'autorisations pour la intent-filter, mais ne nécessitent pas de code d'appel de la mManager.requestPermission (appareil, mPermissionIntent) est une solution partielle.
J'ai ceux manifeste des autorisations en vertu de mon Récepteur de Radiodiffusion de classe au lieu d'une activité,mais j'ai toujours ces popups chaque fois que je ré-attacher la clé usb(en cochant la case est également).Comment aller à ce sujet?
vérifiez qu'aucune méthode d'appel mManager.requestPermission (appareil, mPermissionIntent) cela provoque l'appel de la pop
OriginalL'auteur Samuel Reque Zambrana
Je n'ai pas cru comprendre votre question, mais je pense que la solution est comme ça..
OriginalL'auteur hakiko