parinaz571
دوشنبه 28 شهریور 1390, 17:38 عصر
با سلام . من از برنامه زیر برای فرستادن اس ام اس استفاده می کنم. توی نت بین اجرا میشه و پیغام رسیدن اس ام اس رو نشون میده اما تو مبایل سونی اریکسون میگه operataion fail و چیزی اجزا نمیشه. میشه بینید مشکل از کجاست.
سوال دیگم دارم و نقش thread تو جایی که قرمز کردم چیه . با تشکر
package hello;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.wireless.messaging.*;
public class Yourmessages extends MIDlet implements CommandListener {
Form f;
TextField tNumber, tMessage;
SmsSender sender;
Display d;
private Command ex;
private Command sd;
public void startApp() {
f = new Form("Your Messages");
ex = new Command("Exit", Command.EXIT, 0);
sd = new Command("Send", Command.SCREEN, 0);
tNumber = new TextField("Number", "Enter Phonenumber", 20, TextField.ANY);
tMessage = new TextField("Message:", "Type text", 160, TextField.ANY);
f.append(tNumber);
f.append(tMessage);
f.addCommand(ex);
f.addCommand(sd);
f.setCommandListener(this);
d.getDisplay(this).setCurrent(f);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c.getCommandType() == Command.EXIT) {
destroyApp(true);
notifyDestroyed();
} else {
f.append("Sending...");
sender=new SmsSender(tNumber.getString(), tMessage.getString());
new Thread(sender).start();
}
}
class SmsSender implements Runnable {
private String add, msg;
public SmsSender(String address, String message) {
add = address;
msg = message;
}
public void run() {
String s = "sms://" + add +":50000";
try {
MessageConnection mc = (MessageConnection)Connector.open(s);
TextMessage tm =
(TextMessage)mc.newMessage(MessageConnection.TEXT_ MESSAGE);
tm.setPayloadText(msg);
mc.send(tm);
f.append("nMessage sent!");
mc.close();
} catch (Exception e) {
f.append(e.getMessage());
}
}
}
}
سوال دیگم دارم و نقش thread تو جایی که قرمز کردم چیه . با تشکر
package hello;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.wireless.messaging.*;
public class Yourmessages extends MIDlet implements CommandListener {
Form f;
TextField tNumber, tMessage;
SmsSender sender;
Display d;
private Command ex;
private Command sd;
public void startApp() {
f = new Form("Your Messages");
ex = new Command("Exit", Command.EXIT, 0);
sd = new Command("Send", Command.SCREEN, 0);
tNumber = new TextField("Number", "Enter Phonenumber", 20, TextField.ANY);
tMessage = new TextField("Message:", "Type text", 160, TextField.ANY);
f.append(tNumber);
f.append(tMessage);
f.addCommand(ex);
f.addCommand(sd);
f.setCommandListener(this);
d.getDisplay(this).setCurrent(f);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c.getCommandType() == Command.EXIT) {
destroyApp(true);
notifyDestroyed();
} else {
f.append("Sending...");
sender=new SmsSender(tNumber.getString(), tMessage.getString());
new Thread(sender).start();
}
}
class SmsSender implements Runnable {
private String add, msg;
public SmsSender(String address, String message) {
add = address;
msg = message;
}
public void run() {
String s = "sms://" + add +":50000";
try {
MessageConnection mc = (MessageConnection)Connector.open(s);
TextMessage tm =
(TextMessage)mc.newMessage(MessageConnection.TEXT_ MESSAGE);
tm.setPayloadText(msg);
mc.send(tm);
f.append("nMessage sent!");
mc.close();
} catch (Exception e) {
f.append(e.getMessage());
}
}
}
}