2013-03-01 10 views
13

Ho un'applicazione di modalità host USB che funziona perfettamente. Collego il dispositivo, Android fa apparire il Permetti all'app APPNAME di accedere al dispositivo USB? finestra di richiesta di autorizzazione, controllo il Usa predefinito per questo dispositivo USB casella di spunta e tocca OK, poi su arriva la mia app e comunica perfettamente con il dispositivo USB.Modalità host USB: permesso di accesso al dispositivo concesso ma non ricordato

MA ...

Poi si scollega il dispositivo e ricollegarlo. Android si apre la Consenti al APPNAME app per accedere al dispositivo USB? di nuovo. WTH? Ho già detto a Android di farlo in modo predefinito, quindi perché mi sta chiedendo di nuovo?

Questo accade sia con Icecream Sandwich 4.0.3 che con Jellybean 4.1.

Idealmente voglio che Android ricordi che ho concesso l'autorizzazione per questo particolare dispositivo USB anche dopo aver riavviato il dispositivo Android.

Quindi, perché Android non ricorda che ho concesso l'autorizzazione?

+0

possibile duplicazione di [Supressione pop-up di accesso al dispositivo USB?] (Http://stackoverflow.com/questions/12388914/usb-device-access-pop-up-supression) – Hasturkun

risposta

6

Questo è un dup di USB device access pop-up supression?. Fondamentalmente la risposta è di usare un filtro intent su USB_DEVICE_ATTACHED e di evitare la chiamata API in modalità host USB RequestPermission.

+1

Utilizzare il filtro intent come descritto in la domanda collegata, non RequestPermission. – kbro

+0

Ho usato il filtro intent ma sta chiedendo il permesso – ashokk

3

Ho risposto a questo here, sebbene raccolgo che i duplicati su altri siti SE sono consentiti.

In risposta a perché, è come avete ipotizzato in detto thread; perché con il tuo hardware ricevi identificatori diversi ogni volta che ti colleghi, ad es./dev/bus/usb/001 /,/dev/bus/usb/002/e così via.

0

Android non riesce a ricordare la mia concessione per il mio dispositivo Ma fortunatamente ho capito il motivo: ho usato valori esadecimali nel file device_filter.xml. Dopo averlo modificato in valori decimali, tutto funziona correttamente. Il mio Android può ricordare il mio permesso allora.

Problemi correlati