Deberías
- 1. Ser root
- 2. Conozca los archivos APN como MCC y MNC de su 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 de transportistas por defecto. [] significa opcional
# content query --uri content://telephony/carriers [--where "name=''"]
-
Si su operador no está en la lista, tiene que añadirlo a la lista, Añadir otros campos según sea necesario. NOTA lo siguiente es para Internet, para MMS, cambiar los archivos a lo que se requiere
# 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>"
-
A continuación, vuelva a comprobar el listado como en el paso 1
-
Tenga en cuenta el _id, sustituya la inserción por la actualización si no es la primera vez que establece el apn preferido
# content insert --uri content://telephony/carriers/preferapn --bind apn_id:i:<_id>
-
Prueba a desactivar y activar tu conexión a Internet, si no hay cambios, reinicia tu teléfono. si sigue sin funcionar, sigue
-
Cambiar el permiso del archivo de configuración
# chmod 666 /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml
exit
$ exit
-
Después de salir del adb shell, en su terminal/comando
$ adb pull /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml ~/
-
Añade la siguiente línea antes de la última línea que dice </map>
<long name="apn_id" value="<id>"/>
-
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ía ver su apn en la pantalla de puntos de acceso en la configuración, y también debería funcionar.