Cette question StackOverflow explique comment activer une application propriétaire d'appareil, et donc le mode kiosque, dans l'aperçu du développeur Android L. Étant donné que la méthode nécessite une version userdebug d'Android, l'enracinement de l'appareil et la copie d'un fichier XML dans le système de fichiers racine, elle ne semble pas adaptée au déploiement en masse d'un appareil Android à fonction unique au sein d'une entreprise.
Comment les applications de propriétaire d'appareil vont-elles être installées sur les appareils Android L de production?
kiosk-mode
5.0-lollipop
Adrian Cox
la source
la source
Réponses:
( Modifier: mis à jour après quelques tests supplémentaires)
Consultez la dernière documentation .
Cette fonctionnalité semble être appelée épinglage d'écran maintenant, et l'application n'a pas besoin d'être le propriétaire de l'appareil. Si le propriétaire de l'appareil n'est pas défini, l'utilisateur sera invité à accepter. Mais il y a des problèmes avec cela pour l'utilisation du kiosque, mentionnés ci-dessous.
Si vous activez l'épinglage d'écran par programme (application non propriétaire de l'appareil) ou sur l'appareil à l'aide de la broche dans les recents, vous obtenez le comportement suivant:
Une boîte de dialogue apparaît, demandant à l'utilisateur s'il souhaite activer l'épinglage d'écran et s'il souhaite exiger un mot de passe pour quitter. S'ils appuient sur Oui, la barre d'état et les notifications disparaissent, les boutons Précédent, Accueil et Récents ne disparaissent PAS. Le fait d'appuyer sur la maison ou les récents fait apparaître un toast pour indiquer à l'utilisateur comment quitter l'épinglage d'écran.
L'utilisateur peut alors maintenir la touche enfoncée et recents pour quitter l'épinglage d'écran. Si l'utilisateur a choisi d'exiger un mot de passe, il sera renvoyé directement sur l'écran de verrouillage. Ce comportement signifie qu'il ne convient pas à une imo de kiosque. Comme il est trop facile pour les utilisateurs du kiosque de regarder l'écran de verrouillage.
Pour obtenir un mode de kiosque approprié, nous devons définir le propriétaire de l'appareil. La documentation de Google indique que vous devez le faire avec NFC:
L'utilisation de NFC pour ce faire semble un peu complexe (et si un appareil n'a pas de NFC?). Je n'ai pas encore enquêté sur cela, donc si quelqu'un peut fournir des informations sur la façon dont vous définissez le propriétaire de l'appareil par NFC? Ce qui devient maintenant le point principal de votre question. (c'est-à-dire définir le propriétaire de l'appareil sur un appareil non rooté)
Mais pour confirmer le comportement est comme prévu si vous rootez un appareil, vous pouvez définir le propriétaire de l'appareil selon les instructions précédentes de Google (en ajoutant un device_owner.xml) comme je l'ai mentionné ici
Vous pouvez maintenant verrouiller correctement l'application, aucune boîte de dialogue n'apparaît pour que l'utilisateur l'accepte, une fois activé, le bouton recents et home disparaît et l'utilisateur ne peut quitter l'application que si votre application se déverrouille. Un mode kiosque approprié. J'ai testé cela sur un Nexus 7 2013 avec la dernière version de Lollipop.
L'extrait suivant active le verrou:
la source
Je ne peux pas commenter une réponse qui est un peu gênante mais complémentaire à la réponse de tagy22, vous pouvez utiliser
dpm
pour définir le propriétaire de l'appareil. Plus de détails ici .la source
dpm
ne ferait pas le travail si un compte (tel qu'un compte Google) est défini dans l'appareil.