Frage

Ich bin mit Sun WTK ein Midlet laufen, dass Bedürfnisse senden und optional SMS. WMA-Konsole kann verwendet werden, um Nachrichten an das Midlet zu senden und empfangen, aber ich mag die gleiche Sache mit meiner eigenen Anwendung zu tun.

Ich habe einige Sniffing getan, und bemerkte, dass die Nachrichten von UDP aus der WMA-Konsole an den Emulator gesendet werden.

War es hilfreich?

Lösung

in den Gläsern in WTK I Nach dem Graben war in der Lage, herauszufinden, wie SMS senden und zu empfangen. Ich hatte die Gläser kvem.jar und kenv.zip in der Anwendung Classpath aufzunehmen. Getestet unter Linux.

public static void main(String[] args) throws IOException, PhoneNumberNotAvailableException, InterruptedException {
    System.setProperty("kvem.home", "/home/jassuncao/usr/WTK2.5.2");
    WMAClient wmaClient = WMAClientFactory.newWMAClient(null, 4);
    wmaClient.connect();       
    wmaClient.setMessageListener(new MessageListener() {
        @Override
        public void notifyIncomingMessage(WMAClient wmaclient) {
            try {
                System.out.println("Message received:"+wmaclient.receive());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
    System.out.println("This number "+wmaClient.getPhoneNumber());        
    String[] receivers = wmaClient.getKnownReceivers();        
    for (String receiver : receivers) {
        System.out.println("Sending SMS to "+receiver);         
        Message msg = new Message("Hello world!!");         
        msg.setFromAddress("sms://"+wmaClient.getPhoneNumber());
        msg.setToAddress("sms://"+receiver);
        //It seems the ports must be set AFTER the address to work
        msg.setToPort(50000);
        msg.setFromPort(50000);
        wmaClient.send(msg);    
    }   
    System.in.read();       
    wmaClient.unregisterFromServer();       
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top