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()+":"+port . );
Conector de conexión de mensajes;
string cont = content . getstring();
Pruebe {
conn = (conexión de mensajes). )conector .open(addr);
mensaje de texto msg =(mensaje de texto)conn .nuevo mensaje(mensaje de conexión.TEXT_MESSAGE);
msg.setPayloadText(continuación); p>
p>
conn . enviar(msg);
conn cerrar()
} captura (IOException e) {
//TODO Bloque de captura generado automáticamente
e.printstacktrace();
}
}
La clave del código anterior. es obtener la dirección de envío y enviar La dirección consta de tres partes, 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;i<data length;i++) {
int int data =(int)data[I]&0xFF
if(int data & lt; 0x10) {
buf append(" 0 ");
}
buf append (entero . tohexstring. (int datos));
buf . > p>
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
e.printstacktrace();
}
}
En j2me, hay una interfaz llamada MessageListener, que contiene un método mensaje de notificación (MessageConnection Conn). 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.