2010-02-04 6 views
0

전화로 문자 메시지를 보내려고하는데 오류가 발생합니다.J2ME SMS IOException

알 수없는 이유로 인해 전송하지 못했습니다. -java.io.IOException

import javax.microedition.io.Connector; 
import javax.microedition.lcdui.Display; 
import javax.microedition.lcdui.Form; 
import javax.microedition.midlet.*; 
import javax.wireless.messaging.MessageConnection; 
import javax.wireless.messaging.TextMessage; 

public class Midlet extends MIDlet { 
    Form form = new Form("Form"); 
    Display display; 
    public void startApp() 
    { 
     display = Display.getDisplay(this); 
     display.setCurrent(form); 

     sendSMS("Hello from j2me"); 
    } 

    public void pauseApp() { 
    } 

    public void destroyApp(boolean unconditional) { 
    } 

    private void sendSMS(String s) { 
     String destination = "+12234567890"; 
     String addr = "sms://" + destination; 

     out("Setting up message"); 
     MessageConnection sender = null; 

     try 
     { 
      try 
      { 
        sender = (MessageConnection) Connector.open(addr); 
        TextMessage msg = (TextMessage) sender.newMessage(MessageConnection.TEXT_MESSAGE); 
        msg.setPayloadText(s); 
        out("sending"); 
        sender.send(msg); 
        out("sent successfully"); 
      } 
      catch (Exception ex) 
      { 
        out("Error1:" + ex.getMessage() + " : " + ex.toString() + "\n\n"); 
      } 
      finally 
      { 
       sender.close(); 
      } 
     } 
     catch (Exception ex) { 
       //handle exception 
       out("Error2:" + ex.getMessage() + " : " + ex.toString() + "\n\n"); 
     } 
    } 

    private void out(String str) 
    { 
     form.append(str + "\n"); 
    } 
} 
+0

어떤 휴대 전화가 실패하나요? "sms : // + 12234567890 : 3000"과 같이 메시지의 대상 포트를 지정하면 여전히 실패합니까? 국제 전화 번호를 사용하지 않으시겠습니까? –

답변

2

jad에 권한을 추가 했습니까?

미들 릿 - 권한 : javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.send 이유

+0

답장을 보내 주셔서 감사합니다. 나는 여러 날 동안 SMS를 보내려고했지만 해결책을 얻지 못했습니다. 당신의 대답은 나에게 midlet에 허가를 추가하라고 상기 시켰습니다. 다시 한번 고마워. –

0

모든 종류 :

  • PAYG 전화 없음 신용
  • 어떤 이동 수신은
  • SMS API를
  • 사용자 거부 보안 프롬프트가
  • (이것은 SecurityException을 일으킬 것) 휴대폰 운영자에 의해 차단되지
  • 잘못된 휴대 전화 번호