web-dev-qa-db-fra.com

Verrouiller l'écran sans désactiver l'empreinte digitale

J'ai le problème suivant. J'essaie de créer une application qui verrouille l'écran. La méthode via DevicePolicyManager fonctionne très bien. Jusqu'ici tout va bien. Mais lorsque je verrouille mon téléphone avec DPM, la méthode de déverrouillage des empreintes digitales est désactivée et je dois entrer mon modèle (ou PIN ou tout ce que j'ai défini) pour le déverrouiller. Si je le verrouille normalement (c'est-à-dire avec le bouton d'alimentation), le déverrouillage des empreintes digitales fonctionne. 

Ma question est donc la suivante: Comment verrouiller l’écran par programme et pouvoir ensuite le déverrouiller via une empreinte digitale? 

PS: J'ai un mini Galaxy S5 avec OS lignage Marshmallow

7
ChesterKing

C'est le flux normal. Il faut que le périphérique redémarre à l’état où il demandera un motif ou un mot de passe. Google n'a fourni aucune API pour cela. Vous pouvez vérifier n'importe quelle application du PlayStore disposant d'une fonction de verrouillage se comportera de la sorte.

Modifié: Pour les questions ci-dessous, la réponse que vous avez demandée est partagée ici.

  1. Comment un utilisateur peut-il verrouiller son téléphone sans utiliser le bouton d'alimentation (via une application, par exemple) et pouvoir toujours le déverrouiller à l'aide d'une empreinte digitale?

    Il n'y a intentionnellement aucune API pour les applications à appeler pour verrouiller l'appareil.

  2. Y at-il une raison de sécurité/préoccupation autour de cela?

    Oui, il existe un problème de déni de service (DOS) si nous autorisons les applications à verrouiller l'appareil. Intentionnel ou accidentel (bug d'application).

Trouvé ici [ https://code.google.com/p/Android/issues/detail?id=79735#c115]

Je pense que vous devez rechercher comment verrouiller avec le raccourci d'application et non avec le bouton d'alimentation. Au moins, je pourrais aider à ce niveau.

4
Ashwin Mothilal

Remarquez comment le lanceur apex ou le lanceur nova a réussi à contourner le problème. verrouillage de l'écran par apex launcher ou nova launcher pas désactiver le scanner d'empreintes digitales! 

En réalité, l’écran est entièrement noir, ce qui donne à l’utilisateur une fausse impression d’extinction de l’écran. Après 5 à 10 secondes, l’écran s’éteint en raison du délai d’expiration.

autre application qui implémentait la même fonctionnalité OFF + (écran désactivé/prise en charge du déverrouillage de l'empreinte digitale) . (Je suppose que cela modifie "délai de verrouillage de l'écran"


Si le téléphone est enraciné, une commande Shell peut être exécutée pour simuler la touche marche/arrêt su input keyevent 26, mais il peut y avoir une fraction de retard.


eh bien, si un utilisateur root cherche, il y a aussi un module xposed qui résout ce problème FingerprintEnabler

3
JerryGoyal

Je voudrais ajouter quelques points à l'excellent réponse de JerryGoyal.


Vous trouverez ci-dessous la capture d'écran de Microsoft Launcher, qui présente les deux manières de verrouiller l'écran. Il est clairement indiqué que la méthode via Device Policy Manager ne fonctionnera pas avec empreinte digitale.

Pour contourner le problème, un écran noir est affiché jusqu’à extinction de l’écran.

Dans l'écran suivant, il demande l'autorisation de modifier les paramètres du système pour modifier le délai d'expiration de l'écran.

 Microsoft Launcher

1
Kolappan Nathan