45 votes

Comment débloquer un téléphone Android via le code à distance

J'ai écrit une application qui bloque le téléphone android à distance. C'est lorsqu'un code spécial est envoyé depuis le serveur, puis l'application verrouille le téléphone basé sur le code spécial. C'est le code que j'utilise.

if (!mDPM.isAdminActive(mDeviceAdminSample)) {
        // try to become active – must happen here in this activity, to get result
        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"Admin is added to do security operation.");
        startActivityForResult(intent, 0);
        } else {
        // Already is a device administrator, can do security operations now.
        mDPM.lockNow();
        }

Le code ci-dessus fonctionne, et c'est le verrouillage du téléphone.

Je suis en mesure de déverrouiller le téléphone en entrant le mot de passe de doux clavier. Est-il possible de le déverrouiller par code?

Ma question est comment faire pour déverrouiller le téléphone à l'aide de code.(Ce déverrouillage doit être fait à distance de la manière je l'ai expliqué pour le verrouillage)

6voto

IdleSun Points 141

Je crois que vous ne pouvez pas ignorer le verrouillage d'écran intégré à moins de créer votre propre appareil, comme Samsung et HTC le font. Cependant, en demandant à vos clients d'utiliser votre propre application semblable à un écran de verrouillage, vous pouvez probablement réaliser ce que vous essayez de faire.

5voto

gabriel Points 541

Je ne pense pas que votre télécommande de déverrouillage de l'objectif est réalisable.

La façon dont Android est mis en place, est que de nombreuses applications peuvent avoir de l'Appareil privilèges d'Administrateur, et tout Administrateur de l'Appareil peut émettre une commande de verrouillage, mais le déverrouillage doit venir de l'utilisateur.

Je peux vous suggérer une chose que vous avez à le simplifier: Votre application pourrait essayer de retirer la clé de verrouillage de mot de passe, et ensuite, l'utilisateur peut utiliser l'appareil sans un code simplement en faisant glisser un doigt sur l'écran.

Maintenant, il y a un hic dans ce que j'ai suggéré, si votre application n'est pas le seul administrateur de l'appareil. Dans ce cas, un autre administrateur d'application peut définir un minimum de longueur de mot de passe (ou un autre mot de passe de restriction) qui permettrait de prévenir de votre application à partir de l'effacement de l'écran de verrouillage de mot de passe.

Si votre but est d'aider un utilisateur a oublié son mot de passe de verrouillage de l'écran, puis votre serveur pourrait inventer un nouveau mot de passe, informer l'utilisateur que le nouveau mot de passe, et aussi envoyer le nouveau mot de passe pour votre application et votre application pourrait s'appliquer le mot de passe. L'utilisateur peut déverrouiller le téléphone. Ne vous inquiétez pas, il n'est pas aussi compliqué qu'il y paraît.

4voto

piotrpo Points 3935

Désolé d’écrire cela - Il n’ya aucun moyen de déverrouiller le téléphone à partir du code. Si vous trouvez un moyen de le faire, aucune garantie de travailler. Il n'y a donc aucun moyen de déverrouiller à distance, d'écrire des écrans de verrouillage personnalisés, etc.

3voto

M P Mathugama Points 420

Vous devez utiliser mDPM.resetPassword ("", 0)

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#resetPassword(java.lang.String , int)

Lorsque la chaîne de mot de passe est définie sur "", le mot de passe actuel est remplacé par des valeurs vides et le verrouillage de l'écran disparaît.

2voto

fadedreamz Points 305

essaye ça

 KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE);
kl = manager.newKeyguardLock("my-remote-app");
kl.disableKeyguard();
 

// pour réactiver le protège-clavier à la sortie (si nécessaire)

 onDestroy() {
kl.reenableKeyguard();
}
 

cela fonctionne <= ICS. Ceci est une API obsolète, ils vous ont suggéré d'utiliser les indicateurs de WindowManager pour un effet similaire. Bien que je n'ai pas réussi à générer l'effet similaire en utilisant le WindowManger.

J'espère que cela t'aides,

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X