Información de red Gsm en android

¿Alguien sabe cómo obtener información de gsm en android? Información como BCCH (Broadcast Control Channel) y BCIS (Base Station Identity Code). Ya tengo el LAC (Código de área de ubicación) y CID (Cell ID). Sé que es una información de bajo nivel, pero ¿alguien sabe para obtener esa información? Estoy teniendo un tiempo duro que investiga y no tengo una idea sobre la red celular. Por favor ayuda gracias 🙂

Aquí está la función que le da información completa de la red gsm. Solo llama con el contexto de tu actividad

private void getNWInfo(Context context) { /** * <uses-permission android:name="android.permission.READ_PHONE_STATE" * /> <uses-permission * android:name="android.permission.ACCESS_NETWORK_STATE"/> */ TelephonyManager telephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String networkOperator = telephonyManager.getNetworkOperator(); int mcc = 0, mnc = 0; if (networkOperator != null) { mcc = Integer.parseInt(networkOperator.substring(0, 3)); mnc = Integer.parseInt(networkOperator.substring(3)); } String SimNumber = telephonyManager.getLine1Number(); String SimSerialNumber = telephonyManager.getSimSerialNumber(); String countryISO = telephonyManager.getSimCountryIso(); String operatorName = telephonyManager.getSimOperatorName(); String operator = telephonyManager.getSimOperator(); int simState = telephonyManager.getSimState(); String voicemailNumer = telephonyManager.getVoiceMailNumber(); String voicemailAlphaTag = telephonyManager.getVoiceMailAlphaTag(); // Getting connected network iso country code String networkCountry = telephonyManager.getNetworkCountryIso(); // Getting the connected network operator ID String networkOperatorId = telephonyManager.getNetworkOperator(); // Getting the connected network operator name String networkName = telephonyManager.getNetworkOperatorName(); int networkType = telephonyManager.getNetworkType(); String network = ""; ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); try { if (cm.getActiveNetworkInfo().getTypeName().equals("MOBILE")) network = "Cell Network/3G"; else if (cm.getActiveNetworkInfo().getTypeName().equals("WIFI")) network = "WiFi"; else network = "N/A"; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } TextView textView = (TextView) findViewById(R.id.textView); textView.setText("network :" + network + "\n" + "countryISO : " + countryISO + "\n" + "operatorName : " + operatorName + "\n" + "operator : " + operator + "\n" + "simState :" + simState + "\n" + "Sim Serial Number : " + SimSerialNumber + "\n" + "Sim Number : " + SimNumber + "\n" + "Voice Mail Numer" + voicemailNumer + "\n" + "Voice Mail Alpha Tag" + voicemailAlphaTag + "\n" + "Sim State" + simState + "\n" + "Mobile Country Code MCC : " + mcc + "\n" + "Mobile Network Code MNC : " + mnc + "\n" + "Network Country : " + networkCountry + "\n" + "Network OperatorId : " + networkOperatorId + "\n" + "Network Name : " + networkName + "\n" + "Network Type : " + networkType); } 

Puedes encontrar más detalles en este blog

http://khurramitdeveloper.blogspot.in/search?updated-max=2013-11-07T03:23:00-08:00&max-results=7

Espero que te ayude 🙂

Por favor visite aquí . Explica que no hay API disponibles para obtener la información de radio.

Puede probar esto:

 public static JSONArray getCellInfo(Context ctx){ TelephonyManager tel = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE); JSONArray cellList = new JSONArray(); int phoneTypeInt = tel.getPhoneType(); String phoneType = "unknown"; if (phoneTypeInt == TelephonyManager.PHONE_TYPE_GSM) phoneType = "gsm"; else if (phoneTypeInt == TelephonyManager.PHONE_TYPE_CDMA) phoneType = "cdma"; //from Android M up must use getAllCellInfo if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { List<NeighboringCellInfo> neighCells = tel.getNeighboringCellInfo(); for (int i = 0; i < neighCells.size(); i++) { try { JSONObject cellObj = new JSONObject(); NeighboringCellInfo thisCell = neighCells.get(i); cellObj.put("cellId", thisCell.getCid()); cellObj.put("lac", thisCell.getLac()); cellObj.put("rssi", thisCell.getRssi()); cellList.put(cellObj); } catch (Exception e) { } } } else { List<CellInfo> infos = tel.getAllCellInfo(); for (int i = 0; i < infos.size(); ++i) { try { JSONObject cellObj = new JSONObject(); CellInfo info = infos.get(i); if (info instanceof CellInfoGsm) { CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); CellIdentityGsm identityGsm = ((CellInfoGsm) info).getCellIdentity(); cellObj.put("cellId", identityGsm.getCid()); cellObj.put("lac", identityGsm.getLac()); cellObj.put("dbm", gsm.getDbm()); cellList.put(cellObj); } else if (info instanceof CellInfoLte) { CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity(); cellObj.put("cellId", identityLte.getCi()); cellObj.put("tac", identityLte.getTac()); cellObj.put("dbm", lte.getDbm()); cellList.put(cellObj); } } catch (Exception ex) { } } } return cellList; } 
  • Obtenga un avance de sincronización de la torre de la célula móvil en Android 2.3
  • Android: Red lenta durante las llamadas telefónicas
  • Clase 0 SMS (SMS flash) en Android
  • Android: ¿Cómo obtengo la intensidad de la señal GSM para todos los operadores de red disponibles?
  • Android: Restablecer programaticamente la señal de red de radio del teléfono
  • ¿Cómo determinar la intensidad de la señal cuando GSM devuelve '99'?
  • Fuente confiable de tiempo para el applet JavaCard en SIM
  • Responder llamadas entrantes usando android.telecom y InCallService
  • Identificar el algoritmo de cifrado GSM
  • ¿Cuál es el significado de dbm negativo en la fuerza de la señal?
  • ¿Es posible forzar el tráfico de red a través de Wifi o de la red TMobile?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.