Reputation: 329
For a GSM Android device, whose sim card has been removed, is there any way to detect which carrier the device was previously running on, or perhaps sold by? I am most concerned with detecting phones who have the same Build.Device and are sold by multiple different carrier/operators.
Most method's of carrier/operator detection seem to depend on it currently being connected to the network, or a SIM being present.
Upvotes: 4
Views: 2136
Reputation: 40401
Check the Build.FINGERPRINT
string. It may not be 100% reliable, but most carriers put their name on the first section of the string: $(PRODUCT_BRAND)
.
http://developer.android.com/reference/android/os/Build.html
The FINGERPRINT format is the following:
$(PRODUCT_BRAND)/$(PRODUCT_NAME)/$(PRODUCT_DEVICE)/$(TARGET_BOOTLOADER_BOARD_NAME):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
Of those, $(BUILD_ID)
is specific for carrier/build/region.
Of course, none of this will work in unbranded devices or in devices with custom ROMs, since they are not bound to any carrier without a sim. For those two cases, I believe there is no way to determine anything besides checking the sim, simply because there is nothing to check.
Upvotes: 4