Я только что проверил образец, я не могу воспроизвести исключения.
У вас работает MDS симулятор при запуске эмулятора устройства?
(обязательно смоделировать сетевое соединение)
Вот мой код:
class Scr extends MainScreen {
BasicEditField mPhoneNumberField = new BasicEditField("phone number", "");
BasicEditField mSMSField = new BasicEditField("sms text", "");
public Scr() {
add(mPhoneNumberField);
add(mSMSField);
}
protected void makeMenu(Menu menu, int instance) {
super.makeMenu(menu, instance);
menu.add(new MenuItem("send sms", 0, 0) {
public void run() {
SMSThread thread = new SMSThread(mSMSField.getText(),
mPhoneNumberField.getText());
thread.start();
}
});
}
class SMSThread extends Thread {
Thread myThread;
MessageConnection msgConn;
String message;
String mobilenumber;
public SMSThread(String textMsg, String mobileNumber) {
message = textMsg;
mobilenumber = mobileNumber;
}
public void run() {
try {
msgConn = (MessageConnection) Connector.open("sms://+"
+ mobilenumber);
TextMessage text = (TextMessage) msgConn
.newMessage(MessageConnection.TEXT_MESSAGE);
text.setPayloadText(message);
msgConn.send(text);
msgConn.close();
} catch (IOCancelledException ioce) {
System.out
.println("IOCancelledException: " + ioce.getMessage());
} catch (IOException ioe) {
System.out.println("IOException: " + ioe.getMessage());
} catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
}