ниже код работает:J2ME Sms Отправить разрешения для n85 для подавления предупреждений безопасности
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.wireless.messaging.*;
/**
* @author Panda
*/
public class Midlet extends MIDlet implements CommandListener {
Display display;
private TextField toWhom;
private TextField message;
private Alert alert;
private Command send,exit;
MessageConnection clientConn;
private Form compose;
TextMessage textmessage;
public void startApp() {
display=Display.getDisplay(this);
compose=new Form("Compose Message");
toWhom=new TextField("To","",10,TextField.PHONENUMBER);
message=new TextField("Message","",600,TextField.ANY);
send=new Command("Send",Command.BACK,0);
exit=new Command("Exit",Command.SCREEN,5);
compose.append(toWhom);
compose.append(message);
compose.addCommand(send);
compose.addCommand(exit);
compose.setCommandListener(this);
display.setCurrent(compose);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command cmd,Displayable disp) {
if(cmd==exit) {
destroyApp(false);
}
if(cmd==send) {
String mno=toWhom.getString();
String msg=message.getString();
if(mno.equals("")) {
alert = new Alert("Alert");
alert.setString("Enter Mobile Number!!!");
alert.setTimeout(2000);
display.setCurrent(alert);
}
else {
try {
clientConn=(MessageConnection)Connector.open("sms://"+mno);
}
catch(Exception e) {
alert = new Alert("Alert");
alert.setString("Unable to connect to Station because of network problem");
alert.setTimeout(2000);
display.setCurrent(alert);
}
try {
textmessage = (TextMessage) clientConn.newMessage(MessageConnection.TEXT_MESSAGE);
textmessage.setAddress("sms://"+mno);
textmessage.setPayloadText(msg);
clientConn.send(textmessage);
}
catch(Exception e)
{
alert=new Alert("Alert","",null,AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
alert.setString(e.getMessage());
display.setCurrent(alert);
}
}
}
}
}
Я могу отправлять текстовые сообщения, используя этот мидлет, но единственная проблема в том, что мой телефон Nokia n85 обыкновение позвольте мне послать сообщение без меня, нажимая OK, см. предупреждение о отправке sms. Чего я хочу достичь, так это возможность обойти эту меру безопасности программно, давая приложению более высокие привилегии? Как мне это сделать? Я просто не хочу, чтобы это уведомление о безопасности появлялось в следующий раз, когда я нажимаю кнопку отправки. Я попытался установить разрешение API в Netbeans для JAD и добавил эти:
javax.microedition.io.Connector.sms
javax.wireless.messaging.sms.send
Но этого не достаточно, чтобы обойти его. Любые идеи кто-нибудь? И я не хочу использовать QT, поэтому, пожалуйста, не предлагайте его здесь!
Спасибо за ваш ответ mr_lou, Было очень полезно! – KopetePanda
Мне пришлось использовать QT в конце концов .. Java имеет слишком много ограничений !! – KopetePanda
Очень верно. И это определенно одна из причин, почему разработчики быстро приняли Android и оставили JavaME. –