1 votes

Comment activer l'administrateur de l'appareil pour des applications spécifiques à l'aide de Tasker ?

J'aimerais créer un profil dans Tasker pour activer les privilèges de l'administrateur de l'appareil vers le "Gestionnaire d'appareils Android" lorsqu'un message texte est reçu. De cette façon, je pourrais garder le Gestionnaire d'appareils désactivé, tout en pouvant le réactiver à distance (par un message texte par exemple) au cas où je perdrais mon téléphone.

Existe-t-il un moyen de le faire en utilisant Tasker ?

1voto

Firelord Points 23064

Je ne sais pas trop pourquoi vous voulez faire cela, mais vous aurez besoin d'un accès Root si vous voulez activer la fonction. Gestionnaire de périphériques Android en tant qu'administrateur du dispositif en arrière-plan.

J'ai essayé des combinaisons de diffusions d'intentions pour éviter le redémarrage de l'appareil, mais sans succès, donc notez que ma méthode nécessite un redémarrage.

Tous les administrateurs d'appareils activés sont notés dans le fichier /data/system/device_policies.xml . Il suffit d'ajouter ou de supprimer les entrées d'une application, de redémarrer l'appareil et cette application sera activée/désactivée en tant qu'administrateur de l'appareil.

Toute application apparaissant sous Paramètres → Sécurité → Administrateur de l'appareil dispose d'un récepteur spécialement conçu pour répondre aux exigences relatives à l'utilisation de l'API d'administration des dispositifs et nécessite l'autorisation BIND_DEVICE_ADMIN . Vous pouvez vérifier le nom du destinataire dans le manifeste de l'application. C'est ce récepteur qui est mentionné dans le device_policies.xml Datei.

La façon la plus simple d'obtenir le nom du récepteur de l'administrateur de l'application et le drapeau est d'activer l'application en tant qu'administrateur de l'appareil, de rechercher les entrées de l'application sous device_policies.xml puis révoquer les privilèges de l'administrateur du dispositif .

Pour Android Device Manager (ADM ; géré par Google Play Services), les entrées sont les suivantes :

<admin name="com.google.android.gms/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">
<policies flags="28" />
</admin>

Maintenant, nous allons créer une tâche pour ajouter ces entrées dans le fichier XML en question chaque fois que cela est nécessaire.

Note : Premièrement, Boîte à outils est nécessaire pour la tâche, mais vous pouvez vous en passer et utiliser la fonctionnalité intégrée de Tasker pour le tri si vous regardez de près l'action que j'ai proposée pour activer ADM. Deuxièmement, ma solution a été testée sur Android 5.0.2 et 5.1.1, mais elle devrait fonctionner sur d'autres versions d'Android avec quelques modifications.

  1. Créez une tâche nommée "Enable ADM".
  2. Créez les actions suivantes dans cette tâche :

    1. Code → Exécuter le shell ,

      • Commandement :

        if [ "$(grep -o '</policies>' /data/system/device_policies.xml)" != "</policies>" ]; then sed -i 's/<policies setup-complete="true" \/>/<policies setup-complete="true" \/>\n<admin name="com.google.android.gms\/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">\n<policies flags="28" \/>\n<\/admin>\n<\/policies>/g' /data/system/device_policies.xml; fi; if [ "$(grep -o 'com.google.android.gms/' /data/system/device_policies.xml)" != "com.google.android.gms/" ]; then sed -i 's/<\/policies>/<admin name="com.google.android.gms\/com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver">\n<policies flags="28" \/>\n<\/admin>\n<\/policies>/g' /data/system/device_policies.xml; fi

        La commande peut sembler incompréhensible à première vue, mais elle est en réalité très simple. L'ensemble du commandement consiste en deux conditions et actions simples. La première wenn La condition est de vérifier si </policies> est disponible dans le fichier ou non. Si une application est activée en tant qu'administrateur de l'appareil, le récepteur et l'indicateur de l'application s'afficheront entre <policies setup-complete="true"> y </profiles> . Si aucune des applications n'est activée, alors </policies> n'apparaîtrait pas, de sorte que nous pouvons facilement ajouter les entrées d'ADM dans le fichier.

        Le deuxième wenn vérifie si l'ADM est déjà activé ou non. Si ce n'est pas le cas, il faut ajouter les entrées pour l'activer.

      • Vérifier Utiliser la racine

    2. Code → Exécuter le shell ,

      • Commandement : setprop ctl.restart zygote

        Cette opération permet de redémarrer l'appareil.

      • Vérifier Utiliser la racine

    3. Au lieu de procéder à un redémarrage en douceur, vous pouvez opter pour un redémarrage normal à partir de Système → Redémarrage → Type : Normal

  3. Créer un profil d'événement à partir de Événement → Téléphone → Texte reçu et fixer,

    • Type : SMS
    • Expéditeur : Choisissez un numéro ou laissez-le vide
    • Contenu : Spécifiez ce qui doit figurer dans le texte pour déclencher la tâche, par exemple " Yo boy ! ". Il est également possible d'éviter cette étape et de tout laisser à peu près global, mais d'utiliser une action ou plus dans une tâche pour plus de complexité et de flexibilité.
  4. Affecter la tâche au profil.

C'est tout. Vous pouvez maintenant tester votre profil. Il devrait fonctionner parfaitement. Si ce n'est pas le cas, je n'ai rien à me reprocher ! Continuez à dépanner puisque vous connaissez maintenant le concept.

0voto

The3rdIcon Points 295

Je n'ai pas encore vu de plugin ou d'application tierce qui vous permette de faire cela.

Il est toujours possible de demander à Tasker d'activer les privilèges d'administrateur de l'appareil dans le "Gestionnaire d'appareils Android". Le problème est qu'en l'absence d'un plugin, vous devrez probablement activer le Gestionnaire d'appareils Android par une série de tapotements et de glissements simulés. En tant que mesure de sécurité, cette méthode n'est pas du tout pratique car la personne pourrait potentiellement voir ce qui se passe.

Je suggérerais honnêtement d'investir dans Cerbère . Elle peut se cacher et répondre à des messages de test et à des commandes qui peuvent être envoyées depuis le web. Vous trouverez sur reddit de nombreuses histoires sur la façon dont cette application a permis à des personnes de récupérer leur téléphone.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X