2011-10-21 19 views
2

私はSMSを送信するための簡単なコードがあります。それはうまく動作します。ちょっとした問題。私はSMSが送信できないことをどのように理解できますか? Connectionや他の方法でタイムアウトすることがありますか?ネットワークがない、SIMカードがない、クレジットがないとしましょう。ブラックベリー - SMSのタイムアウトを送信

public static void sendSMS(String content, String number) { 
     MessageConnection mc = null; 
     TextMessage msg; 
     try { 

      mc = (MessageConnection) Connector.open("sms://" + number,Connector.WRITE,true); 
      msg = (TextMessage) mc.newMessage(MessageConnection.TEXT_MESSAGE); 
      msg.setPayloadText(content); 
      mc.send(msg); 

     } catch (final Exception e) { 
      e.printStackTrace(); 
      UiApplication.getUiApplication().invokeLater(new Runnable() { 

       public void run() { 
        Dialog.alert(e.getMessage()); 
       } 
      }); 

     } finally { 
      try { 
       if (mc != null) { 
        mc.close(); 
       } 
      } catch (IOException e) { 
      } 
     } 
    } 

答えて

0
private void sendSMS(final String no, final String msg) { 

    try { 

     new Thread() { 

      public void run() { 

       if (RadioInfo.getNetworkType() == RadioInfo.NETWORK_CDMA) { 

        DatagramConnection dc = null; 

        try { 

         dc = (DatagramConnection) Connector.open("sms://" + no); 

         byte[] data = msg.getBytes(); 

         Datagram dg = dc.newDatagram(dc.getMaximumLength()); 

         dg.setData(data, 0, data.length); 

         dc.send(dg); 

         UiApplication.getUiApplication().invokeLater(new Runnable() { 

          public void run() { 

           try { 

            System.out.println("Message Sent Successfully : Datagram"); 

            Dialog.alert("Message Sent Successfully"); 

           } catch (Exception e) { 

            System.out.println("Exception **1 : " + e.toString()); 

            e.printStackTrace(); 

           } 

          } 

         }); 

        } catch (Exception e) { 

         System.out.println("Exception 1 : " + e.toString()); 

         e.printStackTrace(); 

        } finally { 

         try { 

          dc.close(); 

          dc = null; 

         } catch (IOException e) { 

          System.out.println("Exception 2 : " + e.toString()); 

          e.printStackTrace(); 

         } 

        } 

       } else { 

        MessageConnection conn = null; 

        try { 

         conn = (MessageConnection) Connector.open("sms://" + no); 

         //generate a new text message 

         TextMessage tmsg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE); 

         //set the message text and the address 

         tmsg.setAddress("sms://" + no); 

         tmsg.setPayloadText(msg); 

         //finally send our message 

         conn.send(tmsg); 

         UiApplication.getUiApplication().invokeLater(new Runnable() { 

          public void run() { 

           try { 

            System.out.println("Message Sent Successfully : TextMessage"); 

            Dialog.alert("Message Sent Successfully : TextMessage"); 

           } catch (Exception e) { 

            System.out.println("Exception **1 : " + e.toString()); 

            e.printStackTrace(); 

           } 

          } 

         }); 

        } catch (Exception e) { 

         System.out.println("Exception 3 : " + e.toString()); 

         e.printStackTrace(); 

        } finally { 

         try { 

          conn.close(); 

          conn = null; 

         } catch (IOException e) { 

          System.out.println("Exception 4 : " + e.toString()); 

          e.printStackTrace(); 

         } 

        } 

       } 

      } 

     }.start(); 

    } catch (Exception e) { 

     System.out.println("Exception 5 : " + e.toString()); 

     e.printStackTrace(); 

    } 
:ありがとう は、ここでは、コードです