Pour l'instant, j'ai trouvé un moyen d'accomplir ce que la question demande. Cette solution a été testée sur CyanogenMod 12.1 et 13 .
Depuis le terminal
Désactiver le RIL
Si l'opération ne doit pas être effectuée fréquemment, une seule ligne de code suffira :
su -c "setprop persist.radio.noril 1"
. Ainsi, le téléphone ignorera le Couche d'interface radio , ignorant ainsi la présence de l'antenne. Un redémarrage est nécessaire pour que le changement soit effectif, et il persistera à travers les redémarrages.
De plus, la désactivation du RIL rend le " Pas de carte SIM l'icône disparaît.
Permettre le RIL
Rendre le RIL à nouveau opérationnel n'est qu'une question de drapeaux. Comme on peut le voir dans l'exemple ci-dessous :
su -c "setprop persist.radio.noril 0"
la commande est équivalente, à l'exception d'un 0
au lieu d'un 1
. Comme précédemment, un redémarrage est nécessaire.
En tant que fonction personnalisée
J'ai également conçu deux fonctions à ajouter à la fonction /system/etc/mkshrc fichier. Bien sûr, il est généralement nécessaire de remonter le fichier /système en lecture-écriture, mais cette procédure ne sera pas abordée dans cette réponse.
Ce fichier s'occupe de diverses variables d'environnement et d'alias à charger par le terminal une fois qu'il est lancé, aussi est-il déconseillé de le manipuler. Nous pouvons cependant ajouter nos fonctions personnelles et nos personnalisations juste avant la ligne qui dit :
: place customisations above this line
. Je tiens à rappeler que :
est un module spécial de l'interpréteur de commandes et doivent donc être laissés intacts.
Désactiver le RIL
Ici, nous allons définir une fonction personnalisée radiooff
qui pourra ensuite être appelé à volonté depuis le terminal. Le code est le suivant :
# This function detaches a device from the cellular network
# Upon execution, a reboot must be performed
function radiooff {
if [ "$(whoami)" != "root" ]; then
echo "Error: must be executed as root."
return 1
fi
if [ "$(getprop persist.radio.noril)" == "1" ]; then
echo "Radio is already disabled."
return 1
fi
setprop persist.radio.noril 1
if [ "$(getprop persist.radio.noril)" == "1" ]; then
echo "Radio is now disabled. Please reboot."
return 0
else
echo "Error: unable to disable radio."
return 1
fi
}
. Je rappelle qu'il est indispensable de placer ce code en bas du fichier, mais au-dessus de la ligne mentionnée au début de cette section.
Activer le RIL
Cette fonction, comme l'expliquent les commentaires, est l'inverse de la fonction radiooff
fonction :
# This function connects a device back on the cellular network
# Upon execution, a reboot must be performed
function radioon {
if [ "$(whoami)" != "root" ]; then
echo "Error: must be executed as root."
return 1
fi
if [ "$(getprop persist.radio.noril)" == "0" ]; then
echo "Radio is already enabled."
return 1
fi
setprop persist.radio.noril 0
if [ "$(getprop persist.radio.noril)" == "0" ]; then
echo "Radio is now enabled. Please reboot."
return 0
else
echo "Error: unable to enable radio."
return 1
fi
}
. Lors de la sauvegarde des modifications, les fonctions radioon
y radiooff
sera disponible après la mise à jour de CyanogenMod Terminal l'application est lancée ou redémarrée. Pour les utiliser, il suffit de saisir le nom de la fonction nécessaire et d'entrer.
Cela peut paraître évident, mais la deuxième solution ne fonctionnera pas si l'utilisateur utilise un Terminal qui n'est pas celui de CyanogenMod.