[Guide]Set the Straight Talk APN on a (rooted) Stock 4.4.2 AT&T ROM
I got my phone up and running and text messaging, 4G LTE data connectivity, and phone calls worked just fine, however, I noticed I was unable to send and receive MMS messages (picture messaging). I tried every solution I could find on the web for changing the APNs on my rooted LG Optimus G Pro E980, and by trial and error, I discovered the following solution:
The stock Android ROM supplied by AT&T for the Optimus G Pro - Android 4.4.2 (Build E98020G), has disabled the ability to add working APN settings through the system APN settings dialog by defaulting all new APNs to have the (apn) type="default,dun". The settings screen does not let you change this value, so you have to edit the values directly in the SQLite database.
None of the free SQLite-database-editors in the Android market were able to edit the read-only /data/data/com.android.providers.telephony/databases/telephony.db
file (after following instructions for editing the APN in the database in the folder where it is stored).
So, using ES File Manager (search for "com.estrongs.android.pop" on google play), I copied it to my SD-Card, copied to my computer and edited it with SQLite Database Browser (a SourceForge project identified as sqlitebrowser).
The permissions change both when copying it to and when copying it from the SD-Card. So, I had to set the permissions back to the original telephony.db permissions & owner, (matching the other .db files in the /data/data/com.android.providers.telephony/databases/
Change the file owner and group back to "radio" from "root". If you do not change the owner back when you copy the file back to the /data/data/com.android.providers.telephony/databases/telephony.db
path, the phone.apk process will repeatedly crash until it restarts your phone (and your phone will keep rebooting until you delete the telephony.db file that is owned by "root").
After creating an APN per Straight Talk's instructions, changing the type
field in the carriers (APNs) record stored in the telephony.db, copying over the new telephony.db (and overwriting the original), changing the permissions & owner of the copied file, and rebooting the phone, I was able to send and receive text messages and picture messages (MMS) to myself.
Note: My phone came with the correct "Service Center Address" setting, because it was an AT&T branded phone before I brought it to Straight Talk. However, you may need to change this setting if you came from another carrier with your phone. The correct setting for Straight Talk customers on the AT&T LTE network should be (the same as it is for AT&T customers on an AT&T plan):
Although the /system/etc/apns-config.xml file has several, misleading APN values in it, this file is not used to store the APN records in Android 4.4.*. Instead, APNs are stored in the /data/data/com.android.providers.telephony/databases/telephony.db SQLite database.
Also, there is a rumor spreading around the internet that you cannot send MMS messages when your WIFI is connected (instead of a 4G LTE connection). That is false: my phone sends and receives MMS messages while the WIFI is connected.
To make it easier for you to change your APN settings on your phone, I have attached my working telephony.db file. It contains only one APN record for Straight Talk on AT&T's LTE network. I deleted all of the other APN records from the database, per Straight Talk's APN instructions.
If you are curious, I also attached the database dump of the attached telephony.db, which was auto-generated by SQLite Database Browser. It is a text file called "telephony-dump.sql".