English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explication détaillée d'un programme de verrouillage d'écran automatique en programmation Android

L'exemple de cet article décrit un programme de verrouillage d'écran en un clic réalisé en programmation Android. Je le partage avec vous pour que vous puissiez en faire usage, voici les détails :

Selon les informations que j'ai, tous les téléphones Android utilisent le bouton de verrouillage d'alimentation pour verrouiller manuellement l'écran. Lorsque j'utilise mon téléphone, le nombre de verrous d'écran manuels en une journée est certainement supérieur à30 fois. Si on utilise uniquement le bouton de verrouillage d'alimentation, alors la durée de vie du bouton de verrouillage d'alimentation ne sera pas longue.

Bien que de nombreux logiciels de bureau intègrent maintenant le verrouillage d'écran en un clic, il faut installer d'autres composants pour ces logiciels, ce qui est très irritant, car ils se mettent à jour régulièrement automatiquement ou s'exécutent en arrière-plan des choses que je n'aime pas. Donc, j'ai décidé d'écrire moi-même un programme de verrouillage d'écran.

Après avoir cherché dans la documentation de développement Android, j'ai découvert que depuis android 2.2Pour commencer, l'API contient une méthode lockNow (dans le paquet android.app.admin.DevicePolicyManager), qui permet à un programme de verrouillage d'écran de le réaliser.

Avant d'écrire le code, nous devons comprendre deux classes :

1、DevicePolicyManager

Comme son nom l'indique, cette classe permet de gérer l'appareil. Grâce à cette classe, nous pouvons réaliser des fonctions telles que le verrouillage de l'écran, l'ajustement de la luminosité, ou même la restauration des paramètres d'usine.

2、DeviceAdminReceiver

La classe parente de cette classe est BroadcastReceiver, et à travers sa méthode OnReceive, vous pouvez exécuter différentes actions en fonction de différentes Actions.

Le processus de développement de ce programme est大致如下:

Pour utiliser les méthodes de DevicePolicyManager, il faut d'abord définir un Component. Ensuite, démarrez un DeviceAdminReceiver en gérant ce composant.
Enregistrer un récepteur de broadcast pour écouter les changements de permissions, le code est dans le fichier AndroidManifest.xml :

<receiver android:name=".LockScreenAdmin" android:label="@string/app_name"
  android:description="@string/app_name" android:permission="android.permission.BIND_DEVICE_ADMIN">
  <meta-data android:name="android.app.device_admin"
    android:resource="@xml/lock_screen_admin" />
  <intent-filter>
    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"> />
  </intent-filter>
</receiver>

Dans ce cas, permission représente les permissions nécessaires pour cette fonction ; android:name="android.app.device_admin" représente l'interface de redirection de cette action ; et android:resource="@xml" :/lock_screen_admin" le contenu pointé par :

<device-admin
 xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <force-lock />
  </uses-policies>
</device-admin>

1Implémenter une classe héritant de DeviceAdminReceiver et implémenter les méthodes nécessaires. Cette classe n'a pas besoin d'écrire de code, nous la passons sous silence ici.

2Voici le code clé :

Ce code est utilisé pour activer le component lors du premier lancement. Une fois activé une fois, ce component restera activé. Vous pouvez appeler lockNow() pour verrouiller l'écran dans la méthode onResult en utilisant startActivityForResult(). Lorsque ce n'est pas le premier lancement, appeler directement lockNow() pour verrouiller l'écran.

if (mDevicepolicymanager.isAdminActive(mComponentname)) {
  mDevicepolicymanager.lockNow();
  finish();
} else {// Première exécution du programme
  Intent intent = new Intent(
      DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
  intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
      mComponentname);
  intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
      "Un verrouillage d'écran avec une seule clé doit être activé";
  startActivityForResult(intent, RESULT_ENABLE);
}

Ainsi, la partie principale du programme de verrouillage d'écran est terminée.

Les lecteurs intéressés par plus de contenu sur Android peuvent consulter les thèmes spéciaux de ce site : 'Résumé des techniques de traitement des graphiques et des images Android', 'Tutorial d'introduction et d'avancement du développement Android', 'Résumé des techniques de débogage et des solutions de problèmes courants Android', 'Résumé des techniques de manipulation multimédia Android (audio, vidéo, enregistrement, etc.)', 'Résumé des utilisations des composants de base Android', 'Résumé des techniques des vues View Android', 'Résumé des techniques des layouts layout Android' et 'Résumé des utilisations des contrôles Android'.

J'espère que les informations de cet article vous seront utiles pour la conception de programmes Android.

Déclaration : le contenu de cet article est issu du réseau, la propriété intellectuelle appartient à ses auteurs respectifs, le contenu est apporté par les utilisateurs d'Internet de manière spontanée et est téléchargé, ce site ne détient pas de propriété intellectuelle, n'a pas été traité par l'éditeur humain et n'assume aucune responsabilité juridique. Si vous trouvez du contenu présumé enfreindre les droits d'auteur, n'hésitez pas à envoyer un e-mail à : notice#w3Pour signaler une violation, veuillez envoyer un e-mail à codebox.com (remplacez # par @) et fournir des preuves pertinentes. Une fois confirmée, le site supprimera immédiatement le contenu présumé enfreindre les droits d'auteur.

Vous pourriez aussi aimer