Ich habe eine Anwendung, die auf einem gerooteten No-Name-Android-Tablet mit ICS 4.0.3 ausgeführt wird und ein USB-Gerät über die USB-Hostmodus-Schnittstelle steuert. Die Datei android.hardware.usb.host.xml befindet sich in / system / etc / permissions und alles funktioniert wunderbar. Außer...
Wenn ich die App nach einem Neustart zum ersten Mal ausführe und dann das USB-Gerät anschließe, wird ein Popup-Fenster mit der Meldung "APPNAME auf das USB-Gerät zugreifen lassen? [] Standardmäßig für dieses USB-Gerät verwenden. Abbrechen OK" und angezeigt Ich muss auf OK tippen, bevor das Gerät verwendet werden kann.
Ich muss die Benutzerbestätigung deaktivieren, damit die App das Gerät sofort verwenden kann. Wie mache ich das? Ich scheine einige Vorschläge zur Verwendung eines Tastendruckgenerators zu haben, um zu simulieren, dass der Benutzer auf die Schaltfläche auf dem Bildschirm tippt, aber ich würde es vorziehen, eine solche Vorgehensweise zu vermeiden und die Dinge so einzurichten, dass die Bestätigungsanforderung einfach nicht erfolgt.
Ich kann den Lieferanten wahrscheinlich nicht dazu bringen, einen benutzerdefinierten Kernel-Build für mich zu erstellen, aber ich sollte in der Lage sein, den Firmware-Signaturschlüssel von ihnen zu erhalten, damit ich meine App als System-App signieren kann, wenn dies hilfreich ist.
Ein damit verbundenes Problem: Das Aktivieren des Kontrollkästchens "Standardmäßig für dieses USB-Gerät verwenden" scheint nicht zu helfen. Wenn ich das Gerät aus und wieder einstecke, wird die Bestätigungsaufforderung erneut angezeigt. In dieser Situation ist mir aufgefallen, dass sich die Gerätenummer in / dev / bus / usb / 001 / jedes Mal ändert, wenn ich den Stecker aus der Steckdose ziehe und wieder einstecke (001, 002, 003 usw.). Dies erklärt möglicherweise dieses spezielle Problem.