Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Как отправить смс с телефона дополненый код!


Автор: javastic 4.1.2007, 16:07
Hi all people!!! Вот по просьбам некоторых форумовцов выкладываю дороботанную мной прогу по отправке смс с телефона из java приложения! Комменты на русском! Материал был взят из статьи: "Основы Wireless Messaging API (WMA). Отправка и получение SMS" с сайта www.MobiLab.ru , Я всего лишь доработал ее и написал кооменты!
Вот код:

Код


import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

public class smsClass extends MIDlet implements CommandListener {

  private TextBox textF; // Текстовое поле для ввода текста сообщений
  private TextField numF; // Текстовое поле для ввода номера сообщений
  private Display display; // Дисплей
  private Command next; // для перехода в режим ввода номера
  private Command send; // Отправляем сообщение
  private String getnum = ""; // Переменная для хранения номера
  private String getmes = ""; // Переменная для хранения сообщения

  public void startApp() {
    display = Display.getDisplay(this);
    next = new Command("Next", Command.OK, 1);
    textF = new TextBox("Введите текст sms",
                        "Hello World it SMS from Midlet!!!", 100, TextField.ANY);
    textF.setCommandListener(this);
    textF.addCommand(next);
    display.setCurrent(textF);
  }

  public void pauseApp() {}

  public void destroyApp(boolean _boolean) {
    this.notifyDestroyed();
  }

  public void numberField() {
    Form form = new Form("Enter the number");
    //----------------------------------------------------------------//
    // Введите полный номер типа: +99890 и номер телефона все слитно!-//
    //----------------------------------------------------------------//
    numF = new TextField("Numer", "", 15, TextField.NUMERIC);
    send = new Command("Send SMS", Command.OK, 1);
    form.append(numF);
    form.setCommandListener(this);
    form.addCommand(send);
    display.setCurrent(form);
  }

  public void setSMS() {

    try {
      String addr = "sms://+" + getnum; // Строка адреса
      MessageConnection conn = (MessageConnection) Connector.open(addr);
      TextMessage msg = (TextMessage) conn.newMessage
                        (MessageConnection.TEXT_MESSAGE);
      msg.setPayloadText(getmes); // Ложим в обьект msg наше сообщение из getmes
      conn.send(msg); // Отправляем наше сообщение

    } catch (Exception e) {}
  }

  public void commandAction(Command c, Displayable displayable) {
    if (next == c) { // Переходим в режим ввода номера
      numberField(); // вызываем метод
    }
    if (send == c) { // переходим в метод по отправке сообщений
      getnum = numF.getString(); // Берем данные из т. поля и ложим в getnum
      getmes = textF.getString(); // аналогично
      setSMS(); // зовем метод
    }
  }
}



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)