I need to get accurate LTE PCI readings, not the neighbors, only the PCI (physical cell identifier) ββthat the phone is connected to. My current implementation uses the Android telephony and telephony manager, as shown in the following class:
protected class SignalStrengthListener extends PhoneStateListener { @Override public void onSignalStrengthsChanged(android.telephony.SignalStrength signalStrength) { tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); ltestr = signalStrength.toString(); parts = ltestr.split(" "); try { cellInfoList = tm.getAllCellInfo(); for (CellInfo cellInfo : cellInfoList) { if (cellInfo instanceof CellInfoLte) {
The problem with this implementation is described in another question that I posted: Android CellIdentityLte PCI readings are inaccurate, why? Is there anything you can do?
I have heard of other telephony applications that use reflection to collect accurate LTE parameters, but I have no idea how to do this. So, how can I use reflection in the application to get PCI readings?
Thank you and welcome!
source share