![]() |
Re: отправить смс на короткий номер 10625
Permissions для того и пишутся чтобы телефон знал, что мидлет хочет СМС отправлять. Но вообще-то по умному он должен спросить если нет разрешения.
Бибилотека и так написана по принципу "отправляй что хочешь". Дело в том что по стандарту номер должен быть в международном формате, видимо здесь ява машина мудрит. |
Re: отправить смс на короткий номер 10625
Цитата:
Декомпилировал классы твой и стандартный для сравнения , заметил что у тебя порт не пишется "destination = s + ":276"; " это из стандартного класса строка выдернута. Писал вот так: if sms.send('sms://1010','Всем привет') <> 1 then halt; while is_sending = 1 do delay(100); if Successfull = 0 then halt; |
Re: отправить смс на короткий номер 10625
порт убран, т.к. у человека, для которого это писалось не отправлялись смс, его оператор этот порт не обслуживал.
можно обложить отправку try{}catch и посмотреть почему вылетает. на моей мотороле он просто не отправляет, без вылета из программы. |
Re: отправить смс на короткий номер 10625
Все равно не пашет .
|
Re: отправить смс на короткий номер 10625
Pilgrim помоги сделать класс SMS полностью идентичным стандартному, мне нужно избавится от строки: MIDlet-Permissions: javax.wireless.messaging.sms.send в файле MANIFEST.MF , все из-за нее , если я ее удаляю тел запускается без проблем.
Для редактирования выкладываю тебе класс : import javax.microedition.io.*; import javax.wireless.messaging.MessageConnection; import javax.wireless.messaging.TextMessage; class Lib_sms implements Runnable { public static boolean isSending = false; public static int success = 0; private String destination; private String message; public static int send(String s, String s1) { if(isSending) { return 0; } else { new Lib_sms(s, s1); return -1; } } public Lib_sms(String s, String s1) { success = 0; isSending = true; destination = s + ":276"; message = s1; try { Thread thread = new Thread(this); thread.start(); } catch(Exception exception) { isSending = false; } } public void run() { try { MessageConnection messageconnection = (MessageConnection)Connector.open(destination); TextMessage textmessage = (TextMessage)messageconnection.newMessage("text"); textmessage.setAddress(destination); textmessage.setPayloadText(message); messageconnection.send(textmessage); messageconnection.close(); isSending = false; success = -1; return; } catch(Throwable throwable) { } try { DatagramConnection datagramconnection = (DatagramConnection)Connector.open(destination); Datagram datagram = datagramconnection.newDatagram(message.getBytes(), message.getBytes().length, destination); datagramconnection.send(datagram); datagramconnection.close(); isSending = false; success = -1; } catch(Throwable throwable1) { isSending = false; success = 0; return; } isSending = false; success = -1; } public static int IS() { return !isSending ? 0 : -1; } public static int GS() { return success; } } |
Часовой пояс GMT +4, время: 08:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot