我正在尝试开发J2ME SMS应用程序(在Symbian上,但这并不重要) 我尝试使用最简单的应用程序,在收到短信时发送短信 它完全基于JSR-205提供的示例:
基类实现了MessageListener 然后实现了以下方法(为简单起见,我省略了所有try / catch)。
我有两个问题:
特别是我对第二个问题的答案很感兴趣:如何在Netbeans7.1中模拟SMS接收以便在notifyIncomingMessage方法中设置断点?
public class Example extends MIDlet implements MessageListener {
public void startApp() {
messconn = (MessageConnection)Connector.open("sms://:6222");
messconn.setMessageListener(this);
reader = new Reader();
new Thread(reader).start();
}
public void notifyIncomingMessage(MessageConnection conn) {
conn = (MessageConnection)Connector.open("sms://+39xxxyyyyyyyy");
TextMessage msg = (TextMessage)conn.newMessage("Hello");
conn.send(msg);
}
}
class Reader implements Runnable {
public void run() {
wait();
}
}
答案 0 :(得分:1)
J2ME Wireless Toolkit 2.0支持WMA 1.1,允许应用程序开发人员轻松模拟基于MIDP 2.0的多个设备模拟器之间发送和接收SMS和CBS消息。因此,您可以使用J2ME Wireless Toolkit WMA控制台。
控制台模拟简单的无线消息设备。每个控制台实例 - 您一次可以运行多个控制台 - 在标题栏中用唯一编号标识,称为其电话号码,以反映真实设备的工作方式。默认情况下,第一个控制台的编号为5550000。如果您立即打开第二个控制台,则会为其分配编号5550001,依此类推
要使用控制台,请启动工具包的“首选项”应用程序,选择“API可用性”选项卡,并确保选中“无线消息传递API”。现在运行Utilities应用程序,在窗口右侧按下Open Console按钮。 (您还可以从KToolbar应用程序中的菜单项中访问“首选项和实用程序”应用程序。)
要从控制台发送消息,请按发送短信或发送CBS按钮。生成的对话框有两个页面,一个用于文本消息,另一个用于二进制消息。 SMS对话框列出了当前正在运行的所有控制台和模拟器实例(统称为客户端)的编号。选择所需的客户端,输入要将消息发送到的端口号,然后键入文本消息或选择要发送的二进制文件,然后按“发送”按钮。 CBS对话框稍微简单一些,因为消息将被广播到所有已知客户端 - 提供消息标识符(数字)和要发送的文本或文件,然后按“发送”按钮。
控制台的主窗口列出了它发送和接收的消息。您可以使用两个控制台实例与自己聊天,但让对话中涉及应用程序更有趣,这样您就可以验证应用程序是否正确发送和接收消息。
<强> EDIT1 强>:
在netbeans中,您可以从Tools |启动WMA控制台Java平台| |工具&amp;扩展|打开实用程序。请注意,并非所有SDK都支持此功能。另一方面转到J2ME平台安装目录并搜索一些类似于utils.exe的文件,然后双击它。
的 EDIT2 强>:
如果你还有问题,你可以尝试其他平台。我有sony ericsson sdk 2.5.0.6,很容易在它的安装目录中找到“utils.exe”。
您可以在参考文献中看到很好的教程和说明。
参考文献:
Mobile P2P messaging, Part 1
The Wireless Messaging API
The J2ME Wireless Toolkit WMA Console
tebyan.net