在用j2me发送短信的时候,如果不单独写一个线程类发送短信的话,系统会提示,可能产生死锁。解决此问题只需要单独写个线程类来发送即可,示例如下:
- package bean;
- import javax.microedition.io.Connector;
- import javax.wireless.messaging.MessageConnection;
- import javax.wireless.messaging.TextMessage;
- /**
- * ClassName : SendMsgThread
- * brief : 发送短信线程类,这里为了避免死锁,所以要单独一个线程
- */
- public class SendMsgThread extends Thread {
- private String m_strPhone; // 电话号码
- private String m_strContent; // 短信内容
- public SendMsgThread(String strPhone, String strContent)
- {
- this.m_strPhone = strPhone;
- this.m_strContent = strContent;
- }
- public void run()
- {
- try
- {
- String addr = "sms://" + m_strPhone;
- //System.out.println("发送地址为:" + addr);
- MessageConnection conn = (MessageConnection) Connector.open(addr);
- TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
- msg.setPayloadText(m_strContent);
- conn.send(msg);
- conn.close();
- }
- catch (Exception e)
- {
- //System.out.println("Error in sending");
- e.printStackTrace();
- }
- }
- }