2010-10-17 5 views
5

Possible en double:
Lock the android device programaticallyComment verrouiller les boutons android à partir du code (verrouillage de l'écran)?

J'ai fait une application simple Android avec un verrouillage par code PIN/écran. L'utilisateur doit écrire un mot de passe pour verrouiller le téléphone, puis le répéter pour déverrouiller le téléphone. Le problème est que l'utilisateur peut toujours appuyer en arrière, à la maison (etc) pour quitter l'application sans écrire le code. Comment puis-je empêcher cela?

Répondre

4

Vous pouvez bloquer le bouton de retour en écrasant dispatchKeyEvent() dans votre classe Activity et en renvoyant true si event.getKeyCode() est égal à KeyEvent.KEYCODE_BACK. Mais vous ne pouvez pas bloquer le bouton Accueil pour accéder à la page d'accueil.

J'ai entendu parler d'une supercherie où vous enregistrez votre application en tant que destinataire de l'intention android.intent.category.HOME. Cela entraînerait le système d'exploitation Android à charger votre activité si l'utilisateur appuie sur le bouton d'accueil. Si vous pouvez le faire fonctionner, vous pouvez alors charger l'écran d'accueil "réel" si l'utilisateur a entré le bon mot de passe. Cette approche est susceptible de se comporter différemment sur différents appareils et versions Android, cependant, et cela ne ferait probablement rien pour empêcher l'affichage de la liste des tâches Hold-Home. En résumé, le système d'exploitation Android a été conçu pour empêcher ce que vous essayez de faire: une application ne devrait pas pouvoir prendre le contrôle du téléphone et empêcher d'autres applications (en particulier le téléphone) de fonctionner.

0

Je crois comprendre que vous ne pouvez pas bloquer la clé d'accueil car il s'agit d'une fonctionnalité de sécurité qui permet à l'utilisateur de toujours quitter une application. En appuyant sur la maison ne fermera pas l'activité cependant.

+0

Le verrou intégré écran/fonction de verrouillage de modèle dans les blocs Android à la maison et en arrière. – Martin

+0

Oui, mais comme vous l'avez dit, c'est intégré. Cela fait partie de l'OS. L'accès à cette fonctionnalité à partir d'une application qui ne fait pas partie du système d'exploitation constituerait un problème de sécurité car il permettrait aux développeurs de modifier les fonctionnalités du système d'exploitation. –

0

les gars qui ont créé libre « Toddler lock » apk en quelque sorte réussi à l'a fait - télécharger et de voir par vous-même :)

lorsque vous l'exécutez, il demande l'autorisation d'exécuter comme application maison et vous devez vérifier la case "Utiliser par défaut". Pour quitter l'application, vous devez appuyer sur les 4 coins de l'écran. Tous les boutons mais le pouvoir un sont verrouillés. Donc, il y a un moyen sûr de le faire!

il explique aux utilisateurs comment ça marche ici: http://www.toddlerlock.com/3.html

Questions connexes