使用java通过手机从PC发送消息

时间:2011-09-19 13:23:34

标签: java mobile

我正在使用具有以下功能的应用程序:

  • 用户使用USB线或蓝牙将手机连接到PC。

  • 用户在其PC上键入消息(在我的软件提供的文本字段中)。

  • 用户键入电话号码(在我的软件提供的文本框中)。

  • 用户点击发送按钮。

然后,软件应将消息发送到指定的电话号码,并应将适当的费用应用于我的移动余额。换句话说,我通过我的软件指示我的手机将消息发送到指定的号码。

我该怎么做?核心java是否足够用于此目的,或者我必须使用j2me或者是否有适合此的特定Java框架?

2 个答案:

答案 0 :(得分:1)

一种选择是使用串行链接(COM)将手机连接到电脑。需要配置通过USB或蓝牙物理连接的手机才能出现在COM(串行)端口中。

然后,您需要为PC(Java或任何可以打开的串行端口)创建一个应用程序,打开手机使用的COM端口并发送正确的AT命令。串行端口可以在JavaComm 2.0 Win32或更近期RxTx打开。

打开串口并通过写入和读取字节来写入和读取命令,与套接字相同。

然后创建一个可视化应用程序,让用户设置目的地,文本等电话号码等信息。

您需要Java SE或任何允许您创建可视化应用程序和打开串行端口的语言(Java,.NET,Python ......)。

Windows中串行端口关于AT命令的一些链接:123

另一种选择可能是通过套接字从移动操作系统使用本机API,但看起来很复杂,使用AT命令和串口应适用于所有手机,唯一的问题是通过串口连接手机通过USB或BlueTooth管理串口。

答案 1 :(得分:0)

这高度依赖于您正在使用的移动操作系统。您使用的是Windows Mobile,Android OS,BlackBerry OS吗?

如果你使用Android,那么你应该使用内置的SmsManager来做到这一点。 SmsManager可以执行以下操作:

  

管理短信操作,例如发送数据,文本和pdu短信。

更新

由于您使用的是Symbian OS,请查看documentation for more information on sending SMS messages。我假设您可以弄清楚其余部分(即如何获取数字和消息的文本字段等)。

以下是Symbian OS文档中的示例:

public boolean sendSms(String number, String message){
    boolean result = true;
    try {
      //sets address to send message
      String addr = "sms://"+number;
      // opens connection
      MessageConnection conn = (MessageConnection) Connector.open(addr);
      // prepares text message
      TextMessage msg =
      (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE);
      //set text
      msg.setPayloadText(message);
      // send message
      conn.send(msg);
      conn.close();
    } catch (SecurityException se) {
        // probably the user has not allowed to send sms
        // you may want to handle this differently
        result = false;
    } catch (Exception e) {
        result = false;
    }
    return result;
  }

以上代码段来自"How to Send Text SMS in Java ME"

指南