¿Alguien me puede ayudar a escribir la aplicación para enviar y recibir sms en blackberry. Si puede proporcionarme algún fragmento de código.Cómo escribir aplicaciones de SMS en blackberry?
9
A
Respuesta
13
Para enviar un SMS:
import net.rim.device.api.io.*;
import net.rim.device.api.system.*;
import javax.microedition.io.*;
import java.util.*;
import java.io.*;
public class SendSms extends Application
{
private static final int MAX_PHONE_NUMBER_LENGTH = 32;
private String addr = "15191112222";
private String msg = "This is a test message.";
private DatagramConnection _dc = null;
private static String _openString = "sms://";
public static void main(String[] args)
{
new SendSms().enterEventDispatcher();
}
public SendSms()
{
try {
_dc = (DatagramConnection)Connector.open(_openString);
byte[] data = msg.getBytes();
Datagram d = _dc.newDatagram(_dc.getMaximumLength());
d.setAddress("//" + addr);
_dc.send(d);
} catch (IOException e) {}
System.exit(0);
}
}
para recibir un SMS:
import net.rim.device.api.io.*;
import net.rim.device.api.system.*;
import javax.microedition.io.*;
import java.util.*;
import java.io.*;
public class ReceiveSms extends Application {
private ListeningThread _listener;
public static void main(String[] args)
{
new ReceiveSms().enterEventDispatcher();
}
ReceiveSms() {
_listener = new ListeningThread();
_listener.start();
}
private class ListeningThread extends Thread
{
private boolean _stop = false;
private DatagramConnection _dc;
public synchronized void stop()
{
_stop = true;
try {
_dc.close();
} catch (IOException e) {
System.err.println(e.toString());
}
}
public void run()
{
try {
_dc = (DatagramConnection)Connector.open("sms://");
for(;;)
{
if (_stop) {
return;
}
Datagram d = _dc.newDatagram(_dc.getMaximumLength());
_dc.receive(d);
String address = new String(d.getData());
String msg = new String(d.getData());
System.out.println("Message received: " + msg);
System.out.println("From: " + address);
System.exit(0);
}
} catch (IOException e) {
System.err.println(e.toString());
}
}
}
}
3
Parece envío de SMS desde un BlackBerry no siempre es tan sencillo. Pensé que lo tenía resuelto, pero no funcionó cuando el usuario de BlackBerry estaba en un CDMA network as opposed to GSM, que estaba usando.
Encontré solution here y lo adapté a esto. A diferencia de ese ejemplo también es el número de puerto, yo uso el puerto 5016 as suggested on the Blackberry support forum y el Blackberry knowledge center.
private static byte[] stringToByte(String s)
{
char[] sa = s.toCharArray();
byte[] ba = new byte[sa.length];
for (int i = 0; i < ba.length; i++) {
ba[i] = (byte) (sa[i] & 0xFF);
}
return ba;
}
private static void sendCDMAText(String nr, String message) throws IOException
{
DatagramConnection conn = (DatagramConnection) Connector.open("sms://+" + nr + ":5016");
byte[] bytes = stringToByte(message);
Datagram msg = conn.newDatagram(bytes, bytes.length);
conn.send(msg);
}
private static void sendSMS(String nr, String message) throws IOException
{
MessageConnection conn = (MessageConnection) Connector.open("sms://" + nr);
TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
msg.setPayloadText(message);
conn.send(msg);
}
public static void sendTextMessage(String nr, String message) throws IllegalArgumentException, InterruptedIOException, NullPointerException, SecurityException, IOException
{
if (RadioInfo.getNetworkType() == RadioInfo.NETWORK_CDMA) {
sendCDMAText(nr, message);
return;
}
sendSMS(nr, message);
}
Para enviar un mensaje de texto, que podría llamarse así:
sendTextMessage("555123123", "The little text message you wanted to send.");
(. Cuando es un número de teléfono de Hollywood)
1
public SendSms()
{
try {
_dc = (DatagramConnection)Connector.open(_openString);
byte[] data = msg.getBytes();
Datagram d = _dc.newDatagram(_dc.getMaximumLength());
d.setAddress("//" + addr);
_dc.send(d);
} catch (IOException e) {}
System.exit(0);
}
Usted no establecer el mensaje aquí ^^ (datos!)
Cuestiones relacionadas
- 1. ¿Cómo construir aplicaciones BlackBerry en Linux?
- 2. iniciación en el desarrollo de aplicaciones Blackberry
- 3. J2ME/Blackberry: ¿cómo leer/escribir archivos de texto?
- 4. ¿Puedo desarrollar aplicaciones Blackberry usando C# .NET en windows7
- 5. Escribir aplicaciones multiplataforma en C
- 6. Lanzamiento de aplicaciones Blackberry desde la línea de comandos
- 7. Cómo escribir aplicaciones eclipse rcp con scala?
- 8. Escribir aplicaciones de Android en C# (Xamarin)
- 9. Cómo escribir aplicaciones de procesamiento de audio en C++?
- 10. ¿Cómo comenzar a escribir aplicaciones para iPad?
- 11. ¿Cómo crear una animación de diapositivas en la pantalla de Blackberry similar a Blackberry App World?
- 12. ¿Cómo abrir webview en Blackberry?
- 13. Desarrollo de Blackberry en Mac OS X
- 14. Escribir aplicaciones en C para microcontroladores
- 15. ¿Puedo escribir aplicaciones iOS (Cocoa) en JavaScript?
- 16. Clase 0 SMS (SMS flash) en Android
- 17. Botón de imagen en BlackBerry
- 18. Cómo empaquetar e implementar aplicaciones Blackberry en el dispositivo desde Eclipse
- 19. ¿Puedo hacer programas C++ para BlackBerry (ejemplos?)
- 20. Cómo almacenar en caché en Blackberry BrowserField
- 21. KeyUp de Javascript en Blackberry
- 22. modelo de subprocesos de BlackBerry
- 23. ¿Cómo utilizar los servicios REST de Bing Maps en BlackBerry?
- 24. Contenido de Android SMS (contenido: // sms/enviado)
- 25. Cómo puedo programar un hilo en particular en Blackberry
- 26. Desarrollo de BlackBerry con IntelliJ IDEA 7.0?
- 27. Encóder URL de Blackberry
- 28. ¿Cómo apuntar al navegador Blackberry?
- 29. ¿Cómo cerrar una aplicación en BlackBerry PlayBook?
- 30. Cómo simular Pinch en BlackBerry 10 Simulator?
Hola Ashraf th Gracias por su ayuda, puede proporcionar un código para actualizar el mensaje recibido en la pantalla porque lo intenté pero no pude lograrlo. – Kumar
¿Qué quiere decir con "actualizar el mensaje recibido"? ¿Puede explicar esto con más detalle? –
Hey Ashraf me gustaría mostrar los sms recibidos en la pantalla. ¿Cómo hacer esto? – Kumar