我正在配置我的 J2ME 应用程序以在收到 SMS 时从推送注册表获取事件。 在 SMS 消息到达收件箱之前,我能否访问它? 我读过发送到移动端口 0 的消息直接进入 native 收件箱,我们无法访问它。是否有任何方法可以转移甚至嗅探这些消息,以便在 J2ME 应用程序中对它们执行操作。
最佳答案
根据 this讨论中,在 SMS 进入收件箱之前,不可能使用 MIDlet 在端口 0 上接收它。虽然我不熟悉 Wireless Messaging API,各种其他帖子似乎表明您也无法访问收件箱(我对此可能是错误的)。
我认为你可以做的是打开一个串行连接到电话的调制解调器部分并监听一个 UR 代码(未经请求的响应,“事件”)表明 收到新的 SMS,阅读它,如果它符合您的条件,则使用 AT 命令删除它(从收件箱中,您仍然有您的副本)。 参见 AT+CNMA 命令(新消息确认)和类似的 the standard (大部分手机AT命令都是通过27.007中指定的方式)。
对于以下内容,我不知道是否有意义/是否可能。我只是为了完整性才提到它。
至于在 SMS 到达收件箱之前对其进行处理,我认为 唯一的选择(没有被发送到您监听的特定端口)是 SIM application toolkit (它可以做很多事情),尽管这超出了 J2ME 的范围,而且非常晦涩难懂。仅当您真的非常绝望时才遵循这条路线。
关于java - 手机端口0接收短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1240131/