Devices running Android {{ androidPVersionNumber }} and higher can
recognize subscription carrier information to provide an ID and a
carrier name. Android maintains a carrier ID database with matching
rules for each carrier and its unique carrier ID. AOSP includes the
content of the carrier ID database, in the file
android/packages/providers/TelephonyProvider/assets/carrier_list.textpb
.
The unified database minimizes duplicate logic in apps that need to
identify carriers and limits the exposure of carrier-identifying
attributes.
To improve the coverage and accuracy of carrier identification, Android supports out-of-band carrier ID table updates. Each update comes with a version number and is published to AOSP.
Users who want to implement out-of-band updates can download the
carrier_list.pb
binary from AOSP. To view the readable format of the table, see
carrier_list.txtpb
.
Place the updated carrier ID table in the
/data/misc/carrierid/
data partition. If the updated
version is newer than the installed version, the device will persist
the table to the
carrier ID database. The most recent
information from the carrier ID database will be picked up by the
public APIs
getSimCarrierId()
and
getSimCarrierIdName()
.