Je suis en train d'évaluer si et comment une application d'entreprise CF .NET peut être portée pour s'exécuter sur des appareils Android. L'application sur les téléphones Windows Mobile est exécutée en mode kiosque où l'application démarre automatiquement en mode plein écran après le démarrage et avec les utilisateurs incapables d'accéder accidentellement ou volontairement à d'autres parties du téléphone.
Est-il possible sur Android d'avoir une seule application de démarrage automatique après le démarrage et d'empêcher les utilisateurs d'accéder accidentellement (ou volontairement) à d'autres parties de l'appareil Android?
android
kiosk
kiosk-mode
Erik H
la source
la source
Réponses:
Vous pouvez démarrer automatiquement les applications au démarrage en écoutant l'
android.intent.action.BOOT_COMPLETED
intention dans un BroadcastReceiver et démarrer votre activité à partir de là. Dans l'activité, vous pouvez vous enregistrer comme nouvel écran d'accueil par défaut [1] et gérer les touches.Je pense qu'il y a des cas que vous ne pouvez pas gérer sans modifier le cadre (comme appuyez longuement sur Home pour afficher les applications actuellement actives) - je pourrais aussi me tromper.
Mais pour un prototype, cela pourrait suffire.
Amusez-vous à bricoler!
[1]:
la source
Vous pouvez personnaliser cela (désactiver l'accès au menu, limiter l'ajout d'application, etc.) pour activer le kiosque. http://code.google.com/p/android-launcher-plus/
la source
Dans le nouvel Android L Preview, Google a annoncé le verrouillage des tâches , qui fait exactement cela. Il semble cependant avoir besoin de racine.
la source
Après avoir cherché cela pendant un moment, j'ai trouvé une bonne solution. Cela ne fonctionne que sur les appareils enracinés, mais je suppose que si c'est juste pour cette application, l'enracinement ne devrait pas être un problème.
Faites de votre application le lanceur en ajoutant
à votre filtre d'intention
Assurez-vous que votre application réduit la barre d'outils afin que vous ne puissiez pas atteindre la barre de notification.Voir Comment désactiver la barre d'état / la barre de notification sur Android par programmation? ou http://blog.vogella.com/2011/02/28/android-hidding-the-status-and-title-bar/
Ensuite, pour empêcher tout autre programme de s'ouvrir par erreur, utilisez un service d'accessibilité pour vérifier l'état de la fenêtre modifié, comparez le package à une liste blanche ou noire et utilisez ActivityManager.killBackgroundProcesses pour tuer s'il ne doit pas s'exécuter.
Consultez également http://thebitplague.wordpress.com/2013/04/05/kiosk-mode-on-the-nexus-7/ pour une autre manière
la source
Démarrer votre application au démarrage
la MEILLEURE façon d'y parvenir est de définir votre application comme lanceur
Verrouiller votre application
le moyen le plus fiable est d'utiliser un appareil avec Lollipop ou supérieur et d'utiliser
vous devez d'abord définir votre application comme propriétaire de l'appareil. NB votre appareil ne doit pas être provisionné: si vous l'avez enregistré, vous devez effectuer une réinitialisation d'usine et ignorer l'enregistrement du compte.
pour pouvoir enregistrer votre application, vous devez d'abord configurer un composant DeviceAdminReceiver:
une fois que vous avez un appareil non provisionné, vous pouvez lancer la commande suivante à partir d'adb ( pas de racine requise )
pour éviter qu'android ne demande à l'utilisateur les autorisations d'épingler votre application, vous devez appeler setLockTaskPackages
enfin!
la source
Google a récemment publié l' API de gestion Android qui permet de configurer facilement le mode kiosque pour tous les appareils Android exécutant Android 5.1 ou supérieur, et également de définir diverses autres politiques.
la source
La page Configurer les appareils à usage unique du développeur Android a décrit ces choses que vous pouvez facilement apprendre à en savoir plus à partir de là.
Il est désormais facile de configurer les appareils Android 6.0 Marshmallow et les appareils ultérieurs en tant qu'appareils COSU (appartenant à l'entreprise) à usage unique.
la source
J'ai trouvé une autre technique possible dans ce message du forum . Citant ce message:
http://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/10839-android-kiosk-mode-tutorial.html
Un exemple de fichier ZIP de code en mode kiosque semble également disponible au téléchargement .
la source
Le framework Xposed peut le faire. Il a besoin de root et il est possible que cela ne fonctionne pas sur toutes les plates-formes. Recherchez la méthode disable () dans la classe android.app.StatusBarManager .
Ici dans le code source Android
Regardez ici comment écrire votre propre module: tutoriel de développement Xposed
C'est beaucoup plus facile que vous ne le pensez à première vue. Bonne chance!
la source
Outre la configuration de votre application avec un récepteur BOOT et cette solution pour empêcher l'expansion de la barre d'état, cette solution fonctionne sur 4.4 et plus en tant qu'application de kiosque complète:
Placez dans votre onCreate ():
Cela masquera complètement le bouton de retour, les applications et le bouton d'accueil.
la source