??xml version="1.0" encoding="utf-8" standalone="yes"?> package wc.sms;
import java.io.IOException;
import javax.wireless.messaging.*;
import javax.microedition.io.*;
/**//**
* 发送文本短信息的方?BR>
*/
public class SMSUtil implements Runnable
{
/**//**
* l指定号码发送短信息
*
* @param content
* 短信息内?BR>
* @param phoneNumber
* 手机L(fng)
* @return 发送成功返回trueQ否则返回false
*/
public static void send(String content, String phoneNumber)
{
Thread t = new Thread(new SMSUtil(content, phoneNumber));
t.start();
}
private String content;
private String phoneNumber;
/**//**
* 构?BR>
*
* @param content
* 消息内容
* @param phoneNumber
* 接收L(fng)
*/
private SMSUtil(String content, String phoneNumber)
{
super();
this.content = content;
this.phoneNumber = phoneNumber;
}
/**//*
* (non-Javadoc)
*
* @see java.lang.Runnable#run()
*/
public void run()
{
//地址
String address = "sms://+" + phoneNumber;
//建立q接
MessageConnection conn = null;
try
{
conn = (MessageConnection) Connector.open(address);
//讄短信息类型ؓ(f)文本
TextMessage msg = (TextMessage) conn
.newMessage(MessageConnection.TEXT_MESSAGE);
//讄信息内容
msg.setPayloadText(content);
//发?/SPAN>
conn.send(msg);
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (conn != null)
{
try
{
conn.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
}
}
发是发出M(jin)Q可以对Ҏ(gu)不到Q(
Nq个问题是真的?
但是发现只有q个E序发出的短消息才能被另外一部安装了(jin)q个E序的手机接收到?BR>用手机内|的功能发出的短消息却不能被q个E序接收到?/FONT>
]]>
昨天以ؓ(f)q个问题搞定?jin),现在又有新的状?/SPAN>
一直没有修改过目的属性,多加?jin)几?/SPAN>classQ程序中也没用到中文字符丌Ӏ?/SPAN>
不知Z么再ơ执行后出现这个错误了(jin)Q用的是WTK2.2Q执行后手机模拟器闪?jin)一下就退Z(jin)Q控制台出现下面的错误?/SPAN>
正在通过存储?/SPAN> DefaultColorPhone 来运?/SPAN>
java.io.UTFDataFormatException: invalid byte 11011110
at com.sun.cldc.i18n.j2me.UTF_8_Reader.read(+281)
at java.io.Reader.read(+11)
at java.io.InputStreamReader.read(+11)
at com.sun.midp.midletsuite.JadProperties.readLine(+15)
at com.sun.midp.midletsuite.JadProperties.partialLoad(+63)
at com.sun.midp.midletsuite.JadProperties.load(+8)
at com.sun.midp.dev.DevMIDletSuiteImpl.create(+190)
at com.sun.midp.dev.DevMIDletSuiteImpl.create(+62)
at com.sun.midp.main.Main.runLocalClass(+20)
at com.sun.midp.main.Main.main(+116)
Execution completed.
700765 bytecodes executed
0 thread switches
738 classes in the system (including system classes)
3501 dynamic objects allocated (91984 bytes)
1 garbage collections (0 bytes collected)
q里肯定不是E序的问题!因ؓ(f)把打包后?jad.jar在moto sdk的模拟器上运行就没问题!另外一个方法,新徏一?/SPAN>J2ME Midlet SuiteQ把q个目的所有程序和资源文gDd正常?jin)?BR>
但加?jin)几?/SPAN>class之后Q多写了(jin)些代码,q个目也出现这L(fng)问题?sh)(jin)?BR>
java.io.UTFDataFormatException: invalid first byte 10110111
at com.sun.cldc.i18n.j2me.UTF_8_Reader.read(+194)
at java.io.Reader.read(+11)
at java.io.InputStreamReader.read(+11)
at com.sun.midp.midletsuite.JadProperties.readLine(+15)
at com.sun.midp.midletsuite.JadProperties.partialLoad(+63)
at com.sun.midp.midletsuite.JadProperties.load(+8)
at com.sun.midp.dev.DevMIDletSuiteImpl.create(+190)
at com.sun.midp.dev.DevMIDletSuiteImpl.create(+62)
at com.sun.midp.main.Main.runLocalClass(+20)
at com.sun.midp.main.Main.main(+116)
Execution completed.
693086 bytecodes executed
0 thread switches
738 classes in the system (including system classes)
3455 dynamic objects allocated (90996 bytes)
1 garbage collections (0 bytes collected)
试把项目的~码Ҏ(gu)utf-8Q竟然编译都提示出错?jin),郁?/SPAN>ing...
l箋(hu)找解x(chng)?/SPAN>
?/SPAN>....
...
再把q个目改用wtk2.1Q也不行Q还是一L(fng)错误
新徏一个项目(?/SPAN>WTK2.1?/SPAN>WTK2.2都行Q,再把刚才出错目的代码和资源导入Q居然成功了(jin)Q?/SPAN>
莫名其妙Q?/SPAN>
q有一个不明的地方是Q装?/SPAN>WTK2.2之后?x)?/SPAN>.jad文g与模拟器兌Q但有时双击.jad执行时会(x)出现q个错误Q?/SPAN>.JAD都是?/SPAN>eclipse生成的)(j)?/SPAN>
com.sun.kvem.midletsuite.InvalidJadException: Reason = 22
K?/SPAN>?/SPAN>K�(yng)KCIK�K�K�K?MUST K�K�K�: MIDlet-1
?/SPAN>.....
气死气死Q原来是因ؓ(f)q个原因Q?SPAN lang=EN-US>
?SPAN lang=EN-US>j2megame目中的j2megame.jad里配|有2?SPAN lang=EN-US>Midletes
Q有一个是原来试用的Q后来把那个试class删了(jin)Q但忘(sh)(jin)?SPAN lang=EN-US>.jad中的配置Q(?SPAN lang=EN-US>WTK22?SPAN lang=EN-US>Eclipse
没有关系Q错怪他们了(jin)Q(