【发布时间】:2010-12-27 05:50:06
【问题描述】:
是否可以在移动设备上安装一个 j2me 应用程序作为“SMS 网关”来处理传入消息、通过 GPRS 查询数据库并回复用户?
【问题讨论】:
是否可以在移动设备上安装一个 j2me 应用程序作为“SMS 网关”来处理传入消息、通过 GPRS 查询数据库并回复用户?
【问题讨论】:
这在任何支持 JSR 120 的 J2ME 手机上都是完全可能的(即:大多数手机)。但是,正如 Wonil 所说,您不能只处理任何传入的 SMS 消息。它必须是发送到您的应用正在侦听的端口号的 SMS(使用 Wonil 解释的服务器连接)。
除非应用程序被签名,否则它不会是自动的(因为发送短信和网络访问通常需要确认)。
另一种方法是使用 USB 数据线/蓝牙/IR 将手机连接到 PC,使用手机作为调制解调器打开串行连接,然后编写程序以使用 AT+CGML 监听新的 SMS,如 @987654321 所述@。这将允许处理任何传入的 SMS(不需要端口号),并且没有任何烦人的确认提示。
HTH
【讨论】:
我认为您应该查看 JSR-120 文档以确认。 但是,在我看来,这可能是不可能的。如果你想使用 JSR-120 接收消息,你应该指定特定的端点(端口号)来监听,如下所示:
serverConn = (MessageConnection)Connector.open("sms://:5000");
因此,您无法捕获所有 SMS 消息。那就不能当网关了。
【讨论】:
这可能取决于您的手机是否支持它。查看 J2ME 无线消息传递 API:
无线消息 API (WMA) 是 Java 2 的可选包 平台移动版 (J2ME) 提供独立于平台的访问 到无线通信资源 比如短信服务(SMS)。
http://java.sun.com/products/wma/overview.html
本文提供了一些示例,可以作为您想要实现的目标的起点:http://www.ibm.com/developerworks/wireless/library/wi-extendj2me/
编辑:正如其他人指出的那样,您可能无法收到所有消息。
【讨论】: