Pour des raisons matérielles (ma touche de menu ne fonctionne pas), je ne peux pas ajouter un APN via les paramètres. Je lis ici sur l'utilisation de sqlite et ici en utilisant le code. Mais j'ai besoin d'un moyen plus pratique pour le faire. J'ai besoin de le faire en utilisant adb.
Réponses
Trop de publicités?Vous devriez
- 1. Soyez racine
- 2. Connaître les fichiers APN tels que MCC et MNC de votre fournisseur de services [par exemple EthioTelecom est mcc=636 mnc=01].
Étapes
-
Ouvrez le shell adb
$ adb shell $ su
-
Vérifiez si votre transporteur figure dans la liste des transporteurs par défaut. [] signifie facultatif
# content query --uri content://telephony/carriers [--where "name=''"]
-
Si votre transporteur n'est pas répertorié, vous devez l'ajouter à la liste, ajoutez d'autres champs si nécessaire. NOTE Ce qui suit est pour l'Internet, pour les MMS, changez les fichiers selon ce qui est nécessaire.
# content insert --uri content://telephony/carriers --bind name:s:"<Carrier Name>" --bind numeric:s:"<mcc><mnc>" --bind type:s:"default,sulp" --bind mcc:i:<mcc> --bind mnc:s:<mnc>--bind apn:s:<apn> --bind user:s:"<User> --bind password:s:"<Password>"
-
Ensuite, vérifiez à nouveau la liste comme à l'étape 1
-
Notez le _id, remplacez insert par update si ce n'est pas la première fois que vous définissez l'apn préférée.
# content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:<_id>
-
Essayez de désactiver et d'activer votre connexion Internet, si aucun changement, redémarrez votre téléphone. Si cela ne fonctionne toujours pas, continuez.
-
Changer la permission du fichier de paramètres
# chmod 666 /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
exit
$ exit
-
Après avoir quitté le shell adb, dans votre terminal/interface de commande
$ adb pull /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml ~/
-
Ajoutez la ligne suivante avant la dernière ligne qui dit
</map>
<long name="apn_id" value="<id>"/>
-
puis enregistrez-le et exécutez
$ adb push ~/com.android.settings_preferences.xml /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
Avec un peu de chance, vous devriez maintenant voir votre apn dans l'écran des points d'accès dans les paramètres, et il devrait également fonctionner.
Dans un terminal (par exemple l'invite CMD sous Windows), tapez les lignes suivantes :
-
adb shell su content query --uri content://telephony/carriers --where "name='mtnirancell'"
-
content insert --uri content://telephony/carriers --bind name:s:"name" --bind numeric:s:"<mcc><mnc>" --bind type:s:"default,sulp" --bind mcc:i:<mcc> --bind mnc:s:<mnc> --bind apn:s:<name>"
-
Échantillon :
content insert --uri content://telephony/carriers --bind name:s:"mtnirancell" --bind numeric:s:"43211" --bind type:s:"default,sulp" --bind mcc:i:432 --bind mnc:s:11 --bind apn:s:mtnirancell"
-
-
content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:<_id>
-
Échantillon :
content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:1500
-
-
chmod 666 /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml exit # for exit su exit # for exit shell
-
adb pull /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml ~\com.android.settings_preferences.xml
-
Ajoutez la ligne suivante avant la dernière ligne qui dit
</map>
puis enregistrer le fichier<long name="apn_id" value="1500"/>
-
adb push ~\com.android.settings_preferences.xml /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml