Debes
- 1. Ser Root
- 2. Conocer los campos APN como el MCC y MNC de tu proveedor de servicios [por ejemplo, EthioTelecom es mcc=636 mnc=01]
Pasos
-
Abrir adb shell
$ adb shell
$ su
-
Comprueba si tu operador está en la lista predeterminada de operadores. [] significa opcional
# content query --uri content://telephony/carriers [--where "name=''"]
-
Si tu operador no está en la lista, debes añadirlo a la lista. Añade otros campos según sea necesario. NOTA lo siguiente es para Internet, para MMS, cambia los campos según sea necesario
# content insert --uri content://telephony/carriers --bind name:s:"" --bind numeric:s:"" --bind type:s:"default,sulp" --bind mcc:i:<mcc> --bind mnc:s:\--bind apn:s: --bind user:s:" --bind password:s:""
-
Luego comprueba la lista nuevamente como en el Paso 1
-
Observa el _id, reemplaza insert con update si no es la primera vez que configuras el APN preferido
# content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:<_id>
-
Intenta desactivar y activar tu conexión a Internet, si no hay cambios, reinicia tu teléfono. Si aún no funciona, sigue adelante
-
Cambia el permiso del archivo de ajustes
# chmod 666 /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
exit
$ exit
-
Después de salir de adb shell, en tu terminal o símbolo del sistema
$ adb pull /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml ~/
-
Agrega la siguiente línea antes de la última línea que dice
-
luego guárdalo y ejecuta
$ adb push ~/com.android.settings_preferences.xml /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
Con suerte, ahora deberías ver tu APN en la pantalla de puntos de acceso en la configuración, y también debería funcionar.