Получение SMS, отправленных с эмулятора WTK, в пользовательском приложении

StackOverflow https://stackoverflow.com/questions/1728617

Вопрос

Я использую Sun WTK для запуска мидлета, который должен отправлять и, при необходимости, получать SMS.Консоль WMA можно использовать для отправки и получения сообщений в мидлет, но я хотел бы сделать то же самое, используя свое собственное приложение.

Я немного понюхал и заметил, что сообщения отправляются по UDP с консоли WMA на эмулятор.

Это было полезно?

Решение

Покопавшись в баночках в WTK я смог разобраться как отправлять и получать СМС.мне пришлось включить банки kvem.jar и kenv.zip в пути к классам приложения.Протестировано под 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();       
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top