2

Je crée une application kiosque qui nécessite des autorisations USB. Il sera ajouté à l'image AOSP en tant qu'application système sur notre appareil et son application propriétaire. L'application contrôle les périphériques externes via USB en mode HOST, ce qui leur permet d'obtenir l'autorisation USB par défaut, de sorte que l'utilisateur n'ait pas besoin de donner à chaque fois que le périphérique USB est éteint. La tablette sera fermée pour que l'utilisateur n'ait pas accès au port usb et au périphérique qu'il contrôle. Par conséquent, je souhaite que certains périphériques USB soient approuvés par défaut. Comment l'atteindre? Comment je peux contourner la boîte de dialogue de confirmation d'autorisation USB pour mon application.Comment accorder l'autorisation USB pour que mon appareil kiosque ne demande pas de dialogue de confirmation?

Est-ce que la méthode this peut être utilisée?

Ensuite, j'ai découvert quelque chose à propos de whitelisting les périphériques. Va essayer demain si ça peut être une solution viable.

Répondre

0

J'ai le même problème, dans votre AndroidManifest.xml dans l'activité qui utilisent l'écriture de l'appareil ce

<intent-filter> 
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> 
</intent-filter> 
<meta-data 
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" 
android:resource="@xml/device_filter" /> 

vous devez également créer un fichier de filtre dans vos ressources xml, par exemple res/xml/device_filter :

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <usb-device vendor-id="26214" product-id="26214" /> 
    </resources> 

vous ne devez pas appeler mManager.requestPermission (dispositif, mPermissionIntent), de sorte que vous devez appeler directement mManager.openDevice (MDEVICE); et vous pouvez communiquer normalement sans avoir besoin d'apparaître dans le message contextuel d'autorisation.

+0

Merci pour l'entrée je reçois toujours java.lang.SecurityException: L'utilisateur n'a pas donné l'autorisation au périphérique UsbDevice lorsque j'essaie d'ouvrir un périphérique. Dois-je mettre intentionnel-filtre sous une activité spécifique qui essaie d'utiliser USB ou ?? – Juge

+0

Géré pour que le filtre d'intention fonctionne. Le problème est que lors de l'alimentation de la tablette, il va demander à l'utilisateur l'autorisation de démarrage de l'application. Donc, je reçois toujours une requête une fois. Le problème est que j'ai 2 périphériques USB et il donne la permission à la première. – Juge

+0

Il commence à montrer que la seule façon de se débarrasser de cette boîte de dialogue de confirmation est de pirater les codes de structure AOSP. :(Atleast je n'ai trouvé aucune solution à ce sujet https://android.googlesource.com/platform/frameworks/base/+log/e098050/services/java/com/android/server/usb – Juge