Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отправить смс с телефона, дополненый код! 
:(
    Опции темы
Samuil
  Дата 4.10.2006, 04:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: 5
Всего: 6



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(); // зовем метод
    }
  }
}



--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
fpmk
Дата 5.10.2006, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



И что это работает ?
PM MAIL   Вверх
Dancer
Дата 5.10.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Да работает, проверил на Motorola C380
Сообщение отправилось из мидлета, пришло как нативное SMS.
Номер нужно набирать без плюса вначале (это в прниципе из кода видно).


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Samuil
Дата 5.10.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: 5
Всего: 6



Тестил на nok 6630, и все ок!


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
nerezus
Дата 3.1.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



А что делать, если пишет, что javax.wireless.messaging does not exist ?

WTK 2.2


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
W0LF
Дата 3.1.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Где пишет?


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
nerezus
Дата 3.1.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



В KToolbar при нажатии на Build


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
W0LF
Дата 3.1.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Project->Settings->Api Selection
Поставь там галочку против JSR205


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
nerezus
Дата 3.1.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



спс


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
javastic
Дата 4.1.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



Samuil, добавлено в примеры.


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Lesik
Дата 4.1.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



Здравствуйте, я новенький. Извините, если что не так.
На телефоне Сименс С55 не запускается эта (успешно скомпилированная) программа.
На телефоне пишется Unable to load class javax.wireless.messaging.Message
В эмуляторе работает.
Полагаю причиной является MIDP 1.0 без поддержки WMA в моем телефоне.
Что можно сделать с ЭТИМ телефоном, чтобы заработало?
Фак вроде просматривал...
PM MAIL   Вверх
Samuil
Дата 4.1.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: 5
Всего: 6



Lesik, Выбросить! Да Ты правильно заметил что проблема в MIDP. Исправить ее нельзя! ЗЫ! К сожалению.


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
Lesik
Дата 5.1.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



Цитата(Samuil @ 4.1.2008,  16:00)
Lesik, Выбросить! Да Ты правильно заметил что проблема в MIDP. Исправить ее нельзя! ЗЫ! К сожалению.

спасибо, понятно!
PM MAIL   Вверх
123qw
Дата 20.10.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



в эмуляторе нормально, а на телефоне не влазит номер, че делать?
PM MAIL   Вверх
ivanovpv
Дата 21.10.2010, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 10
Всего: 28



Я чего-то не догоняю - в чем же хумор то? Отправить SMS можно на любой порт (в данном случае "нулевой"), а вот слушать "нулевой" порт мидлет не может. Исходников с примером отправки SMS на любой порт в сети множество, представленный образец - ничем не лучше и не хуже. Вот если бы были исходник как слушать "нулевой" порт, иначе говоря контролировать сообщения приходящие на Inbox - вот это было бы круто.


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.