blackberry上短消息发送的问题

今天碰到一个问题,关于短消息发送的问题,问题表现是往短信网关写短信发送没问题,往手机写就正常,在手机上用程序发送反而没有问题,

 

经过测试,最后发现问题在这里。

在BlackBerry的button响应代码中,加入了短消息发送功能,结果就失败了

    public void fieldChanged(Field field, int context) {   

 

        //Dialog.inform("ft");

 

        if (field == loginButton) {

            String contect = "XXX*xxxx";//客户端身份编码

 

            String address =  "sms://021xxxxxxx"; //短信网关

 

            //Dialog.inform("start");

 

            MessageConnection messageconnection = (MessageConnection)Connector.open(address,Connector.WRITE);

 

            TextMessage textmessage = (TextMessage)messageconnection.newMessage(MessageConnection.TEXT_MESSAGE);

 

            textmessage.setPayloadText(contect);

 

            textmessage.setAddress(address);

 

            messageconnection.send(textmessage);//异常从这里抛出

 

        } catch (Throwable e) {

 

            //Dialog.inform("exception");

 

            System.err.println("execption");

 

            e.printStackTrace();

 

        }    

 

        Dialog.inform("good");

 

        }

 

       }

    若是把它挪出到线程,就OK了。

 

  public void fieldChanged(Field field, int context) {

 

      //Dialog.inform("ft");

 

      if (field == loginButton) {

 

                 

 

                  MyThread mt1;

 

 

 

                mt1 = new MyThread('A');

 

              mt1.start()

 

             

 

              Dialog.inform("good");

 

            }

 

            }

 

     

 

      }

 

 

 

class MyThread extends Thread {

 

    boolean exit = false;

 

    char printchar;

 

    public MyThread(char c) {

 

        printchar = c;

 

    }

 

 

 

    public void run() {

 

        try {

 

 

 

              } catch (Throwable e) {

 

                  //Dialog.inform("exception");

 

                  System.err.println("execption");

 

 

 

 

                  e.printStackTrace();

 

              }

 

 

 

    }

 

}

 

 

报错的异常很好,能很容易看出问题,你得佩服BB这套Event驱动的应用框架,也可以更好体会UI编程中的一些好的习惯,不要把容易IO失败或者比较费用资源的操作放到BB中来。

 

异常如下:

guid:0x9C3CD62E3320B498 time: Thu Jun 17 17:09:03 2010  severity:1 type:3 app:Java Exception data:
 RuntimeException
 blocking operation not permitted on event dispatch thread
 net_rim_cldc-19(4BAE2663)
  EventThreadCheck
  throwException
  0x1F87
 net_rim_cldc-18(4BAE2663)
  NativeTransport
  send
  0x76D1
 net_rim_cldc-19(4BAE2663)
  Transport
  send
  0x9266
 net_rim_cldc-19(4BAE2663)
  Protocol
  send
  0x3702
 Smsfor8910(4C19EC08)
  Smsfor8910RIMResources
  <clinit>
  0x114
 net_rim_cldc-11(4BAE2663)
  Field
  fieldChangeNotify
  0xBCD
 net_rim_cldc-14(4BAE2663)
  ButtonField
  <private>
  0x270C
 net_rim_cldc-14(4BAE2663)
  ButtonField
  trackwheelUnclick
  0x22E0
 net_rim_cldc-12(4BAE2663)
  Manager
  trackwheelUnclick
  0x249D
 net_rim_cldc-12(4BAE2663)
  Manager
  trackwheelUnclick
  0x249D
 net_rim_cldc-12(4BAE2663)
  Screen
  trackwheelUnclick
  0x9693
 net_rim_cldc-12(4BAE2663)
  Screen
  dispatchNavigationEvent
  0x71CD
 net_rim_cldc-13(4BAE2663)
  UiEngineImpl
  processMessage
  0x7964
 net_rim_cldc-8(4BAE2663)
  Application
  <private>
  0x29A4
 net_rim_cldc-8(4BAE2663)
  Application
  processNextMessage
  0x1ADD
 net_rim_cldc-8(4BAE2663)
  Application
  enterEventDispatcher
  0x1A1A
 Smsfor8910(4C19EC08)
  MyThread
  run
  0x9A

              String contect = "XXX*xxxx";//客户端身份编码

 

              String address =  "sms://021xxxxxxx"; //短信网关

 

              //Dialog.inform("start");

 

              MessageConnection messageconnection = (MessageConnection)Connector.open(address,Connector.WRITE);

 

              TextMessage textmessage = (TextMessage)messageconnection.newMessage(MessageConnection.TEXT_MESSAGE);

 

              textmessage.setPayloadText(contect);

 

              textmessage.setAddress(address);

              messageconnection.send(textmessage);//异常从这里抛出

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值