TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); List<CellInfo> cellInfos = telephonyManager.getAllCellInfo(); //This will give info of all sims present inside your mobile if(cellInfos!=null){ for (int i = 0 ; i<cellInfos.size(); i++){ if (cellInfos.get(i).isRegistered()){ if(cellInfos.get(i) instanceof CellInfoWcdma){ CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) telephonyManager.getAllCellInfo().get(0); CellSignalStrengthWcdma cellSignalStrengthWcdma = cellInfoWcdma.getCellSignalStrength(); strength = String.valueOf(cellSignalStrengthWcdma.getDbm()); }else if(cellInfos.get(i) instanceof CellInfoGsm){ CellInfoGsm cellInfogsm = (CellInfoGsm) telephonyManager.getAllCellInfo().get(0); CellSignalStrengthGsm cellSignalStrengthGsm = cellInfogsm.getCellSignalStrength(); strength = String.valueOf(cellSignalStrengthGsm.getDbm()); }else if(cellInfos.get(i) instanceof CellInfoLte){ CellInfoLte cellInfoLte = (CellInfoLte) telephonyManager.getAllCellInfo().get(0); CellSignalStrengthLte cellSignalStrengthLte = cellInfoLte.getCellSignalStrength(); strength = String.valueOf(cellSignalStrengthLte.getDbm()); } } } return strength; }
TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE); try { for (CellInfo info : tm.getAllCellInfo()) { if (info instanceof CellInfoGsm) { CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); // do what you need gsmStrength = String.valueOf(gsm.getDbm()); } else if (info instanceof CellInfoCdma) { CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength(); gsmStrength = String.valueOf(cdma.getDbm()); } else if (info instanceof CellInfoLte) { CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); gsmStrength = String.valueOf(lte.getDbm()); } else { gsmStrength = String.valueOf("Uknow"); } } }catch (Exception e){ LogUtils.LOG(e.getMessage()); }
List<CellInfo> cellInfos=tel.getAllCellInfo(); for (CellInfo varcell:cellInfos){ if (varcell instanceof CellInfoLte){ CellInfoLte cellInfoLte=(CellInfoLte)varcell; CellSignalStrengthLte cellSignalStrengthLte=(CellSignalStrengthLte)cellInfoLte.getCellSignalStrength(); int Dbm= cellSignalStrengthLte.getDbm(); int Asu= cellSignalStrengthLte.getAsuLevel(); int Level= cellSignalStrengthLte.getLevel(); int vci=cellInfoLte.getCellIdentity().getCi();
cellObj.put("cellId", identityLte.getCi()); cellObj.put("tac", identityLte.getTac()); cellObj.put("dbm", lte.getDbm()); cellList.put(cellObj);
CellSignalStrengthLte cellStrengthL = ((CellInfoLte) (cellInfo)).getCellSignalStrength(); return addOrUpdateCell(g.getOperatorKeyString(), g.getOperatorString(), g.getXfcn(), "LTE", cellStrengthL.getDbm(), NetworkType.typeForCode("L"), location); case "CellInfoWcdma": if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { //WHYYYYYY?
@SuppressWarnings("ChainOfInstanceofChecks") @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) private Cell parceCellInfo18(CellInfo info) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) return null; if (info instanceof CellInfoWcdma) { CellIdentityWcdma identity = ((CellInfoWcdma) info).getCellIdentity(); if (identity.getMcc() == Integer.MAX_VALUE) return null; CellSignalStrengthWcdma strength = ((CellInfoWcdma) info).getCellSignalStrength(); return new Cell(Cell.CellType.UMTS, identity.getMcc(), identity.getMnc(), identity.getLac(), identity.getCid(), identity.getPsc(), strength.getDbm()); } else if (info instanceof CellInfoLte) { CellIdentityLte identity = ((CellInfoLte) info).getCellIdentity(); if (identity.getMcc() == Integer.MAX_VALUE) return null; CellSignalStrengthLte strength = ((CellInfoLte) info).getCellSignalStrength(); return new Cell(Cell.CellType.LTE, identity.getMcc(), identity.getMnc(), identity.getTac(), identity.getCi(), identity.getPci(), strength.getDbm()); } return null; }
result.setPsc(lteIdentity.getPci()); result.setStrengthdBm(((CellInfoLte) cell).getCellSignalStrength().getDbm()); result.setStrengthAsu(((CellInfoLte) cell).getCellSignalStrength().getAsuLevel()); return result;
out.name("dbm").value(lteInfo.getCellSignalStrength().getDbm()); writeIfKnown(out, "level", lteInfo.getCellSignalStrength().getLevel()); writeIfKnown(out, "timing_advance", lteInfo.getCellSignalStrength().getTimingAdvance());