[E 2015 CDMA Android Development] deega:
Here's what I did.

Edit the LTE and eHRPD APNs for Virgin Mobile to add the Sprint mmsc. Here's my apns-conf.xml:

<?xml version="1.0" encoding="utf-8"?>
<apns version="8">
<!-- Sprint/Virgin Mobile -->
<!-- Modify APN for Sprint LTE support -->
<apn carrier="Sprint LTE ISP" mcc="001" mnc="01" apn="n.ispsn" type="default,mms" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<apn carrier="Sprint LTE OTA" mcc="001" mnc="01" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<apn carrier="Sprint LTE PAM" mcc="001" mnc="01" apn="pamsn" type="dun" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<apn carrier="Sprint LTE ISP" mcc="001" mnc="010" apn="n.ispsn" type="default,mms" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<apn carrier="Sprint LTE OTA" mcc="001" mnc="010" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<apn carrier="Sprint LTE PAM" mcc="001" mnc="010" apn="pamsn" type="dun" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
<!-- END APN database for Sprint LTE support -->

<!-- APN database for Sprint EHRPD support -->
<apn carrier="Sprint eHRPD ISP" mcc="001" mnc="01" apn="n.ispsn" type="default,mms" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<apn carrier="Sprint eHRPD OTA" mcc="001" mnc="01" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<apn carrier="Sprint eHRPD PAM" mcc="001" mnc="01" apn="pamsn" type="dun" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<apn carrier="Sprint eHRPD ISP" mcc="001" mnc="010" apn="n.ispsn" type="default,mms" mmsc="http://mms.sprintpcs.com" mmsproxy="68.28.31.7" mmsport="80" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<apn carrier="Sprint eHRPD OTA" mcc="001" mnc="010" apn="otasn" type="fota" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<apn carrier="Sprint eHRPD PAM" mcc="001" mnc="010" apn="pamsn" type="dun" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
<!-- END APN database for Sprint EHRPD support -->

<!-- VIRGIN MOBILE CUSTOM APNS -->
<apn carrier="Virgin Mobile LTE" numeric="310120" mcc="310" mnc="120" apn="n.ij.ispsn" user="Sprint" server="" password="*" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,supl,mms,fota,dun" bearer="14" />
<apn carrier="Virgin Mobile eHRPD" numeric="310120" mcc="310" mnc="120" apn="n.ij.ispsn" user="Sprint" server="" password="*" proxy="null" port="null" mmsproxy="68.28.31.7" mmsport="80" mmsprotocol="null" mmsc="http://mms.sprintpcs.com" type="default,supl,mms,fota,dun" bearer="13" />
<!-- END VIRGIN MOBILE CUSTOM APNS-->
<!-- END Sprint/Virgin Mobile-->
</apns>

Reboot into recovery

In recovery goto advanced>file manager and navigate to /data/data/com.android.providers.telephony/databases/

Delete the files telephony.db and telephony.db-journal from there

Reboot to system

Open Access Point Names (Change APNS app or through settings) and Reset to default

A couple of failures occurred before sending and receiving MMS worked perfectly, but it did start working every sing time. My guess is it took about 10 or 20 minutes.