¿Cómo mostrar un mensaje largo y corto recibido por Android como mensaje corto?
1. En realidad, este problema está relacionado con los terminales móviles. Algunos terminales se dividen automáticamente en varios mensajes de texto normales para enviar, y algunos envían mensajes de texto largos; veré el protocolo más adelante
2.
Si el terminal envía varios mensajes cortos normales, el terminal receptor los mostrará en el orden de recepción. Se muestran varios mensajes de texto.
Si el terminal desempaqueta y envía un mensaje demasiado largo, el centro SMS/pasarela SMS reenviará el mensaje según los requisitos del protocolo. El receptor no los mostrará inmediatamente después de recibir alguno de ellos. Cuando ve menos mensajes que la cantidad de paquetes de mensajes, los descomprimirá en lugar de ensamblarlos. Cuando las cantidades sean iguales, se armará un mensaje corto normal. Echemos un vistazo al protocolo CMPP:
//Cuando el mensaje corto supera los 70 caracteres chinos, la primera parte del mensaje corto.
E000000//longitud total de datos de 4 bytes
05 00 00 00//número de comando de 4 bytes
3f38b 01//número de serie de 4 bytes
31 3B 6E 0B A2 84 61 F0//8 bytes msg_id
30 35 37 37 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00//21 bytes Dest _ Id
00 00 00 00 00 00 00 00 00 00 00//10 bytes Service_Id
00//1 byte TP_pid
01//1 byte TP_udhi
08//1 byte Msg_Fmt
38 36 31 33 37 35 30 32 34 33 33 30 33 00 00 00 00 00 00 00 00 00//21 byte Src_terminal_Id
00//Entrega_Registrada
8B//Longitud del mensaje
06 // Indica la longitud del extra largo información del encabezado del mensaje corto.
08 //Indica que el número de doble byte mod 65536 se utiliza como símbolo de mensajes de texto extremadamente largos.
00 2A //Definir el número de identificación de un mensaje corto muy largo.
02 //Número total de mensajes superlargos
01 //Número de serie
00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 400 4e2a 4e.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00//8 bytes reservados
//Cuando el mensaje corto supera los 70 caracteres chinos, la segunda parte del mensaje corto.
78 00 00 00
05 00 00 00
49 38 0B 01
31 3B 74 8B A2 84 62 0D p> p>
30 35 37 37 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00
01
08
38 36 31 33 37 35 30 32 34 33 33 30 33 00 00 00 00 00 00 00 00
00
23
06 08 04 00 2A //
02 //Número total de mensajes superlargos
02 //N° de secuencia
00 61 00 61 00 61 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 0 62 00 62 00 62 00 62 00 62 00 62 00.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00