1

我正在尝试开发 J2ME SMS 应用程序(在 Symbian 上,但这并不重要)。
我尝试了最简单的应用程序,它在收到短信时发送短信。
它完全基于 JSR-205 提供的示例:

基类实现了 MessageListener。
然后实现以下方法(为简单起见,我省略了所有 try/catch)。

我有两个问题:

  1. 它不起作用
  2. 我不知道如何在Netbeans7.1中调试它

特别是我对第二个问题的答案感兴趣:如何在 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();
      }
}
4

1 回答 1

1

J2ME Wireless Toolkit 2.0 支持 WMA 1.1,允许应用程序开发人员轻松模拟基于 MIDP 2.0 的多个设备仿真器之间发送和接收 SMS 和 CBS 消息。因此您可以使用 J2ME Wireless Toolkit WMA 控制台。
控制台模拟一个简单的无线消息设备。每个控制台实例 - 您一次可以运行多个控制台 - 在其标题栏中由一个唯一编号标识,称为其电话号码以反映真实设备的工作方式。默认情况下,第一个控制台的编号为 5550000。如果您立即打开第二个控制台,则会为其分配编号 5550001,依此类推。
要使用控制台,请启动工具包的 Preferences 应用程序,选择 API Availability 选项卡,并确保选中 Wireless Messaging API。现在运行 Utilities 应用程序并在窗口的右侧按下 Open Console 按钮。(您也可以从 KToolbar 应用程序中的菜单项访问 Preferences and Utilities 应用程序。)
要从控制台发送消息,请按发送 SMS 或发送 CBS 按钮。生成的对话框有两页,一页用于文本消息,另一页用于二进制消息。SMS 对话框列出了当前运行的所有控制台和模拟器实例(统称为客户端)的数量。选择所需的客户端,输入要发送消息的端口号,然后键入文本消息或选择要发送的二进制文件,然后按发送按钮。CBS 对话框稍微简单一些,因为消息将被广播给所有已知的客户端 - 提供消息标识符(一个数字)和要发送的文本或文件,然后按发送按钮。
控制台的主窗口列出了它发送和接收的消息。您可以使用两个控制台实例与自己聊天,但让应用程序参与对话会更有趣,这样您就可以验证应用程序是否正确发送和接收消息。
在此处输入图像描述

EDIT1
在 netbeans 中,您可以从 Tools | 启动 WMA 控制台。Java 平台 | | 工具和扩展 | 打开实用程序。请注意,并非所有 SDK 都支持此功能。另一方面,转到您的 J2ME 平台安装目录并搜索一些类似于 utils.exe 的文件,然后双击它。
EDIT2
如果你还有问题,你可以尝试其他平台。我有sony ericsson sdk 2.5.0.6,很容易在它的安装目录中找到“utils.exe”。
您可以在参考资料中看到好的教程和注释。
参考:
移动 P2P 消息传递,第 1 部分
无线消息传递 API
J2ME 无线工具包 WMA 控制台
tebyan.net

于 2012-03-06T08:16:54.813 回答