Ich versuche, eine Kiosk-App mit Android 5 Bildschirm Pinning-Funktion zu bauen. Es scheint, dass alles, was ich in der App tun musste, war, startLockTask()
zu rufen, aber das erlaubt dem Benutzer immer noch, die App zu verlassen, indem er auf die Schaltflächen Zurück und Zurück drückt.Bildschirm Pinning als Geräteinhaber funktioniert nicht
Um die App so zu pinnen, dass der Benutzer sie nicht verlassen kann, muss die App Eigentümer eines Geräts sein. Basierend auf sites such as this one, braucht man
adb shell dpm set-device-owner my.package.name/.MyAdminReceiver
laufen, um das Gerät Eigentümer zu setzen. Aber das Kommando mit gescheiterten
java.lang.IllegalStateException: Trying to set device owner but device is already provisioned.
, die ich gehört habe, wird durch die Datei verursacht /data/system/device_owner.xml
bereits auf dem Gerät vorhanden ist.
Da das Gerät gerade frisch von der Fabrik zurückgesetzt wurde, vermute ich, dass es mit einer bereits vom Hersteller bereitgestellten App gekommen war, also habe ich das Gerät gerootet. Ich würde es lieber ohne Rooting machen (da es ungefähr 70 Geräte geben wird, auf denen ich das Verfahren ausführen muss), aber für Forschungszwecke kann es nicht geholfen werden.
Nachdem ich das Gerät verwurzelt habe, habe ich versucht, die device_owner.xml
Datei zu finden, aber es war nicht da. Ich habe versucht, eine basierend auf this answer trotzdem zu erstellen, aber die App zeigt immer noch die Pinning-Nachricht und die letzten + Zurück-Tasten noch deaktiviert die App.
Warum kann ich den Gerätebesitzer nicht einstellen? Gibt es einen Weg dahin?
Besitzt das Gerät ein Google-Konto? Sie müssen es entfernen, bevor Sie den Gerätebesitzer festlegen können. – basilisk
@basilisk Es hatte kein Google-Konto, als ich die DPM-Methode ausprobierte. Es wurde frisch zurückgesetzt. Buchstäblich die zweite Sache, die ich getan habe, nachdem das Gerät nach dem Zurücksetzen gestartet wurde (zuerst war die Installation der APK) – larvyde