Check the line Build.FINGERPRINT . It may not be 100% reliable, but most carriers put their name in the first section of the line: $(PRODUCT_BRAND) .
http://developer.android.com/reference/android/os/Build.html
The FINGERPRINT format is as follows:
$(PRODUCT_BRAND)/$(PRODUCT_NAME)/$(PRODUCT_DEVICE)/$(TARGET_BOOTLOADER_BOARD_NAME):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
Of these, $(BUILD_ID) specific to the carrier / assembly / area.
Of course, none of this will work on non-marshalled devices or on devices with custom ROMs , since they are not tied to any carrier without a sim. For these two cases, I believe that there is no way to determine anything other than checking the sim, simply because there is nothing to check.
source share