Desarrollo de mensajes de texto GPRS en teléfonos móviles
2. Respecto a los mensajes de texto, hay dos situaciones, una es la de recibir y la otra la de enviar. Veamos primero el envío. El código es el siguiente:
public void sendImp() {
string addr = " SMS://" phone . getstring() ": " getstring(); /p>
Conector de conexión de mensajes;
string cont = content . getstring();
Pruebe {
conn = conector (conexión de mensajes). open( addr);
mensaje de texto msg = (mensaje de texto) conn .mensaje nuevo (conexión de mensaje. TEXT _ MESSAGE
msg.setPayloadText (continuación); >
conn . send(msg);
conn . close();
} catch (IOException e) {
// TODO generado automáticamente catch Block
e.printstacktrace();
}
}
La clave del código anterior es obtener la dirección de envío , que se compone de tres Consta de: SMS://, número de teléfono y número de puerto de SMS local. Normalmente, este número de puerto se obtiene a través de la propiedad getapp ("Puerto SMS"). El resto no es nada especial.
Mira la recepción nuevamente:
public void recibirImp() {
Mensaje msg
String senderAddr
intente {
msg = conn . recibir();
if (msg!= null) {
remitente addr = msg obtener dirección();
remitente = senderAddr
if (instancia de mensaje de mensaje de texto){
contenido = ((TextMessage)msg). getPayloadText();
}
De lo contrario{
búfer de cadena buf = nuevo búfer de cadena();
byte[] datos = (mensaje (mensaje binario)).
getPayloadData();
for(int I = 0; Ilt longitud de datos; i) {
int int data = (int)data[I] amp;
if(int datos lt; 0x10) {
buf . append(" 0 ");
}
buf (entero. tohexstring). (int datos));
buf . append("");
}
contenido = buf . >System.out.println(content);
}
}
} catch(InterruptedIOException e){
// TODO bloque de captura generado automáticamente
e. printstacktrace();
} catch (IOException e) {
// TODO bloque de captura generado automáticamente
p >e.printstacktrace();
}
}
En j2me, hay una interfaz llamada MessageListener, que contiene un método Mensaje de notificación ( Conexión de conexión de mensajes). Este método se llamará y ejecutará automáticamente una vez que la conexión de mensajes en la que está registrado reciba un mensaje. Por lo tanto, primero debemos crear una nueva MessageConnection con la dirección sms://port. Esta dirección es lo mismo que enviar el mensaje, solo falta el número de teléfono y luego usar esta conexión para registrar la interfaz MessageListener. Luego escriba el método de recepción anterior en notifyIncomingMessage y podrá recibir la información normalmente.