The baseband processor connects to the application processor through a serial UART connection. The connection is established via RIL (Radio Interface Layer). RIL has an implementation both in its own user space and within. The telephone manager connects to RIL.java as part of and makes the connection. You can access the telephony manager through this code:
Telephonymanager tm = (Telephonymanager)getSystemService(TELEPHONY_SERVICE)
Then you can access a variety of phone status information such as cell information, call status, neighboring cells, signal length, IMSI, IMEI, etc.
To access cell information, you can use this:
tm.getAllCellInfo()
It returns a CellInfo list, and you can iterate over it to access information about each cell.
source share