In UMTS I get a large number returned by getCid()
(larger than the allowed value). Is this the UTRAN Cell Identity (UC-ID)?
UC-Id = RNC-Id + C-Id
>
This is more simple than this. Cell ID is in the low register of the value getCid() returns, the RNC is the high register of this value (http://developer.android.com/reference/android/telephony/gsm/GsmCellLocation.html#getCid()). So:
getCid() == RNC << 16 | CID
CID = getCid() & 0xffff
RNC = (getCid() >> 16) & 0xffff