El ID de RNC son los primeros 2 bytes del ID de celda de 4 bytes (3GPP 25.401, sección 6.1.5), si el tipo de red es UMTS/HSxPA/HSPA +. "
Tengo acceso a una red de operador y verificado en el sistema y es verdadera y correcta
sobre la base de que por favor ver mi código de cómo se puede conseguir fácilmente RNCID + CID:.
Convertir CID para ByteArray:
public static byte[] convertByteArray__p(int p_int){
byte[] l_byte_array = new byte[4];
int MASK_c = 0xFF;
for (short i=0; i<=3; i++){
l_byte_array[i] = (byte) ((p_int >> (8*i)) & MASK_c);
}
return l_byte_array;
}
Obtener el RNCID y CID:
public int getRNCID_or_CID__p(byte[] p_bytes, short p_which){
int MASK_c = 0xFF;
int l_result = 0;
if (p_which == Constants.CID_C) {
l_result = p_bytes[0] & MASK_c ;
l_result = l_result + ((p_bytes[1] & MASK_c) << 8);
} else if (p_which == Constants.RNCID_C){
l_result = p_bytes[2] & MASK_c ;
l_result = l_result + ((p_bytes[3] & MASK_c) << 8);
} else {
g_FileHandler.putLog__p('E', "getRNCID_or_CID__p invalid parameter");
}
return l_result;
}
de lo que puede llamar fácilmente como esto:
byte[] l_byte_array = new byte[4];
l_byte_array = convertByteArray__p(l_cid);
int l_RNC_ID = getRNCID_or_CID__p(l_byte_array,Constants.RNCID_C);
int l_real_CID = getRNCID_or_CID__p(l_byte_array,Constants.CID_C);
Constantes RNCID_C (1) y CID_C (2) son sólo contants sólo para mí para separar el parámetro que se pasa a través.
Creo que nadie está realmente entender el núcleo de su pregunta, por favor ser más específico – barmaley
bien, en GSM getCid() devuelve el CellId de la celda. Hasta donde sé en UMTS, el valor que se recibe incluye el identificador del RNC y el identificador de la celda. Esto significa que el número largo (7-9 dígitos) devuelto por getCid() en una red UMTS contiene ambos, pero solo quiero tener el CellId. Creo que el camino es el siguiente: C-Id = UC-Id% 65536 y RnC-Id = (UC-Id) - (C-Id)/65536.O por qué el valor devuelto en UMTS es un número que es más grande que 65536, que es el valor máximo permitido si la documentación de Android es correcta. – Benny