Un tutoriel sur la façon de reproduire les fonctionnalités basées sur la localisation de Smart Lock de Google sur les appareils Huawei ou Honor exécutant EMUI.
Si vous n'avez jamais possédé d'appareil Huawei ou Honor, vous regardez probablement le titre et vous dites « hein? Après tout, Smart Lock est une fonctionnalité introduite dans Android 5.0 Sucette pour faciliter l'accès rapide à votre appareil sous certaines conditions comme la localisation, lorsque vous êtes connecté à certains appareils, lorsque vous êtes dans votre poche ou lors de la reconnaissance de votre voix.
Une telle fonctionnalité ne vaut normalement guère la peine d'être discutée étant donné que plus de deux ans se sont écoulés depuis la sortie de Lollipop et que environ 65 % de tous les appareils Android fonctionnent sous Android 5.0+. Nous pensons que la proportion d'utilisateurs sur nos forums qui utilisent au moins Lollipop est beaucoup plus élevée, bien que nous n'ayons pas de statistiques exactes à ce sujet. Quoi qu'il en soit, la fonctionnalité Smart Lock de Google est devenue si courante parmi les appareils Android que les applications tierces proposant cette fonctionnalité
ont largement a été abandonné, car ils ne voient pas l'intérêt de rivaliser avec cette fonctionnalité.Mais il existe un groupe d'utilisateurs qui se retrouvent avec un version stérilisée de Smart Lock: utilisateurs avec un Appareil Huawei ou Honor exécutant EMUI. Pour une raison quelconque, EMUI ne fournit pas les mêmes fonctionnalités Smart Lock que celles proposées par la plupart des autres appareils Android 5.0+. Au lieu de cela, EMUI vous permet uniquement de déverrouiller automatiquement votre appareil s'il est connecté à certains appareils Bluetooth.
Bien que cela soit certainement utile si vous possédez un appareil portable Bluetooth tel qu'une montre intelligente ou un bracelet de fitness, tout le monde ne dispose pas d'un appareil portable toujours connecté à son smartphone. L'exclusion par Huawei de la fonctionnalité Smart Lock de Google est clairement délibérée, car même si vous activez Smart Lock en tant qu'« agent de confiance » dans Android, vous ne pouvez pas réellement utiliser la fonctionnalité.
Fondamentalement, vous êtes coincé avec la fonction « Smart » Lock de Huawei, qui offre moins de fonctionnalités que Smart Lock de Google. Vos seules options en tant que propriétaire d'un appareil Huawei/Honor sont d'essayer l'une des nombreuses options disponibles sur le Play Store. qui prétendent ajouter cette fonctionnalité (dont aucune n'a jamais fonctionné sur mon appareil), ou pour rooter votre téléphone et télécharger un module Xposed. Le manque d’options décentes pour EMUI m’a bien sûr poussé à écrire ce tutoriel. Avec un peu de magie Tasker et un plug-in appelé AutoTools, nous pouvons déverrouillez automatiquement n'importe quel appareil Huawei ou Honor en fonction de l'emplacement sans avoir besoin de root.
Verrouillage intelligent pour les appareils Huawei/Honor
Seules deux applications sont nécessaires pour que cette fonctionnalité soit opérationnelle. Le premier est Tâcheur, l'outil d'automatisation Android incroyablement populaire que nous proposons fréquemment chez XDA pour résoudre des problèmes allant des plus banals aux incroyablement complexes. À 2,99 $, il peut sembler inutile d'acheter cette application pour quelque chose d'aussi simple, mais la valeur que cette application peut apporter est énorme, si vous êtes prêt à le faire. assistez à quelques tutoriels. Ensuite, vous aurez besoin de la version bêta d'un plug-in Tasker appelé Outils automatiques. Ce plug-in ajoute une tonne de fonctionnalités utiles à la boîte à outils native de Tasker, et en particulier nous aurons besoin d'une fonction d'AutoTools connue sous le nom de Paramètres sécurisés pour atteindre notre objectif.
Ce que nous allons faire, c'est modifier une propriété sur notre appareil qui contrôle la minuterie qu'Android utilise pour déterminer quand afficher l'écran de verrouillage après l'expiration du délai d'attente du téléphone. Un « délai d'attente » fait ici référence soit au moment où l'écran de votre téléphone s'éteint après X minutes d'inactivité, soit au moment où l'utilisateur éteint manuellement l'écran en appuyant sur le bouton d'alimentation. Après un laps de temps défini (allant d'immédiatement après la mise en veille de l'appareil jusqu'à 30 minutes après être passé en mode veille), Android affichera l'écran de verrouillage.
Le problème avec ces deux fonctionnalités est que par défaut, augmenter la minuterie de « verrouillage automatique » peut potentiellement constituer un problème de sécurité, car si votre appareil est glissé dans la fenêtre de temps pendant laquelle l'écran de verrouillage n'a pas encore été activé, un voleur aura accès à l'intégralité du contenu de votre appareil. Pour atténuer ce problème, Android propose une option « Le bouton d'alimentation verrouille instantanément l'appareil » afin que vous puissiez immédiatement activer l'écran de verrouillage en appuyant sur le bouton d'alimentation. Cependant, et surtout si vous avez défini un court délai d'expiration de l'écran, il est facile d'oublier de le faire. Vous êtes donc toujours ouvert à ce que votre appareil accessible par des tiers malveillants si vous laissez accidentellement l'appareil expirer sur une table ou dans votre poche sans appuyer manuellement sur l'alimentation bouton.
Par conséquent, notre solution à ce problème consiste à associer une minuterie de « verrouillage automatique » plus longue non pas au bouton d'alimentation, ce qui nécessite une intervention manuelle, mais plutôt à la localisation/au WiFi. De cette façon, vous pouvez utiliser votre appareil sans écran de verrouillage dans le confort de votre foyer, mais soyez assuré que le code PIN/mot de passe de l'écran de verrouillage sera toujours visible lorsque vous êtes loin de maison. Maintenant que nous avons expliqué ce que nous faisons, voici comment cela se fait réellement.
Didacticiel
Comme mentionné précédemment, nous allons modifier une certaine propriété système. Cette propriété est définie sous le Paramètres. Classe sécurisée avec le nom lock_screen_lock_after_timeout, et il accepte les valeurs entières en millisecondes. Afin de modifier cette valeur, nous devrons accorder à AutoTools une autorisation particulière afin qu'il puisse écrire dans ces paramètres sans avoir besoin d'un accès root.
Sous le système de gestion des autorisations d'Android, les applications définissent les autorisations qu'elles souhaitent obtenir dans le fichier manifeste. Les utilisateurs peuvent ensuite accorder ou refuser des autorisations lors de l'installation (pré-Marshmallow) ou à la demande (Marshmallow+). Cependant, il existe certaines autorisations que les applications ne peuvent pas obtenir même si elles en font la demande dans le manifeste, telles que WRITE_SECURE_SETTINGS. En effet, accorder à n’importe quelle application une autorisation aussi puissante donnerait à cette application une tonne de contrôle sur votre appareil.
Mais il existe une solution de contournement que nous pouvons utiliser pour accorder l'autorisation WRITE_SECURE_SETTINGS à n'importe quelle application de notre choix. En utilisant les BAD gestionnaire de paquets (pm) outil, nous pouvons accorder presque n'importe quelle autorisation à n'importe quelle application de notre choix (à condition que l'application demande cette autorisation dans le fichier manifeste).
La première chose que vous devrez faire est installer le binaire ADB sur votre ordinateur suivi du bon pilote pour votre appareil. Ensuite, activez le débogage USB dans les options du développeur (allez dans Paramètres -> À propos du téléphone et appuyez 7 fois sur le numéro de build si vous ne l'avez pas déjà fait) et connectez votre téléphone à votre ordinateur. Enfin, envoyez la commande suivante une fois que vous avez ouvert un terminal :
adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS
Désormais, AutoTools aura la possibilité de modifier n'importe quel paramètre global, sécurisé ou système sur votre appareil. Il existe différentes manières de jouer avec ces paramètres et la liste des paramètres disponibles dans chaque catégorie dépend entièrement de la version de votre appareil et de votre logiciel, mais cette discussion est pour une autre temps. Dans tous les cas, nous allons vous montrer comment utiliser AutoTools pour contrôler le délai d'expiration de l'écran de verrouillage.
Étape 2 - Configuration de Tasker
Ouvrez Tasker et appuyez sur le bouton + icône dans le coin inférieur droit pour créer un nouveau profil. Nommez votre nouveau profil comme « Verrouillage automatique » ou ce que vous voulez, vraiment. Pour le type de contexte que nous utiliserons, sélectionnez État. Aller à Net -> WiFi connecté. Ici, nous sélectionnerons les réseaux WiFi que nous souhaitons mettre sur liste blanche pour déverrouiller automatiquement l'appareil. Frappez le loupe et sélectionnez tous les réseaux WiFi que vous souhaitez ajouter à la liste blanche.
Facultatif: Si vous souhaitez créer un Smart Lock véritablement basé sur la localisation (plutôt que uniquement basé sur les réseaux WiFi), alors vous pouvez utiliser le contexte "Location" dans Tasker au lieu de State --> Net --> WiFi Connected fonctionnalité. Notez que Tasker ne crée pas de géo-clôtures, donc l'épuisement de la batterie sera pire avec cette méthode. Si vous souhaitez que Tasker réagisse à des géo-clôtures plus économes en batterie, vous devrez alors installer le Localisation automatique brancher.
Revenez en arrière et il vous sera ensuite demandé de créer une tâche. Entrez n'importe quel nom (ou aucun ne convient) pour accéder à l'écran de création de tâche. appuie sur le + en bas au milieu pour ajouter une nouvelle action. Aller à Plugin -> AutoTools -> Paramètres sécurisés. Frappez le crayon pour ouvrir l'écran de configuration des paramètres sécurisés d'AutoTools. Aller à Écran verrouillé --> Verrouillage automatique et pour la valeur, entrez toute valeur suffisamment élevée telle que '9001'. Il s'agit de la valeur, en secondes, sur laquelle AutoTools définira la minuterie automatique de l'écran de verrouillage. Heureusement pour nous, nous n'avons pas besoin de définir manuellement une commande pour modifier le valeur lock_screen_lock_after_timeout, car le développeur d'AutoTools a implémenté cette fonctionnalité pour nous dans une belle interface graphique.
Enregistrez ce paramètre en appuyant sur l'icône de coche en haut, puis en appuyant une fois de retour sur la touche Retour dans Tasker, et enfin en quittant l'écran de création de tâches. Une fois que vous avez fait cela, Tasker gardera automatiquement votre appareil déverrouillé pendant très longtemps pendant que vous êtes à la maison. Sois sûr que "le bouton d'alimentation verrouille instantanément l'appareil" est désactivé dans les paramètres de verrouillage sécurisé, sinon lorsque vous appuyez sur le bouton d'alimentation lorsque vous êtes chez vous, l'écran de verrouillage de votre téléphone s'activera, ce qui n'est pas ce que vous souhaitez !
Enfin, nous devrons ajouter une autre tâche qui se déclenche lorsque nous quittons l'un des réseaux WiFi sur la liste blanche. Sur la page principale de Tasker, appui long sur le Tâche vous venez de créer et appuyez sur ajouter une tâche de sortie dans le menu contextuel. Nommez cette tâche comme vous le souhaitez et entrez à nouveau dans l'écran de création de tâche. Ici, appuyez sur le + icône et allez à nouveau à Plugin -> AutoTools -> Paramètres sécurisés. Dans la même option de verrouillage automatique, saisissez cette fois une valeur de 0. Une fois que vous quittez votre réseau WiFi, Tasker ne retardera plus l'affichage de l'écran de verrouillage après l'expiration du délai de connexion du téléphone.
Facultatif: Ajoutez une deuxième Action en appuyant sur le + icône mais cette fois, allez à Affichage -> Verrouillage du système. Cette action verrouillera automatiquement votre téléphone lorsque vous quitterez la portée de vos réseaux WiFi sur liste blanche, juste au cas où votre délai d'affichage serait très long et que votre téléphone ne se mettrait jamais en veille lorsque vous quitteriez la maison. Si vous faites cela, vous devrez faire de Tasker un administrateur de périphérique en accédant à Paramètres. Recherchez simplement l’option et accordez l’autorisation à Tasker.
Et c'est tout! Bien que ce tutoriel semble long, en réalité le script Tasker lui-même est très simple. Un total général de 3 actions maximum est nécessaire pour activer cette fonctionnalité. Essayez-le et dites-nous comment cela fonctionne pour vous !