Voici mon problème : J'avais l'habitude de faire tourner Lineage 16 sur mon Pixel3a, qui avait encore l'option "profil" où je pouvais faire des choses comme "Lorsque mon réseau domestique n'est pas à portée, basculer vers un autre profil". J'ai utilisé cette option pour désactiver le wifi lorsque je quittais la maison et cela a très bien fonctionné. Important : il n'était pas nécessaire que mes services de localisation soient activés pour que cela fonctionne.
Maintenant j'ai mis à jour vers Lineage 17.1 (Android 10) et cette option a disparu. Je cherche maintenant à savoir comment reconstruire cette fonctionnalité. Mon téléphone est rooté (via Magisk), et en tant que développeur de logiciels, je suis prêt à utiliser tous les outils dont je dispose.
Ce que j'ai essayé : J'ai construit une application qui vérifie périodiquement si je suis connecté à un SSID spécifique (puisque c'est tout ce que je peux voir sur Android 10 - "Suis-je connecté à "mon-ssid" ? su
comme ceci : sudo("svc wifi disable")
. sudo()
est ma fonction qui ouvre un processus et dialogue avec le shell.
Le problème est que je ne pense pas qu'il y ait un moyen de garantir que mon application fonctionne toujours, et j'aimerais que cela fonctionne également lorsque l'application est éteinte ? Il n'est même pas nécessaire que ce soit un SSID spécifique, je serais heureux si mon résultat est : "Si nous ne sommes pas connectés à un réseau wifi pendant plus de 3 minutes, désactiver le wifi.
Quelles sont donc les autres options qui s'offrent à moi ? Tasker
Le système fonctionne en quelque sorte, mais uniquement lorsque les services de localisation sont activés, ce que j'aimerais éviter . Que puis-je faire d'autre ? Puis-je exécuter une sorte de script ou un travail uniquement sur le shell ? Y a-t-il quelque chose que je puisse faire avec Magisk o Xposed ?
L'internet regorge de liens et de conseils, mais ils concernent tous des versions plus anciennes du système d'exploitation. Btw la source de mon application (extrêmement brouillon) est aquí si quelqu'un est curieux.