【问题标题】:Sending SMS from Java Application using communications API使用通信 API 从 Java 应用程序发送 SMS
【发布时间】:2013-09-27 11:01:04
【问题描述】:

我正在使用Java Communications API。想知道通过java应用程序发送短信是否必须使用AT命令:AT+CSCA=设置CSCA(服务中心地址)?或者我们可以跳过该部分并发送 AT 命令AT+CMGS= 来发送消息?任何帮助,将不胜感激。谢谢!

【问题讨论】:

    标签: java sms


    【解决方案1】:

    大概是您通过带有 SIM 卡的硬件设备发送的;该卡很可能会配置一个指定家庭网络服务中心号码的配置文件 - 毕竟,当您为自己的手机购买 SIM 卡时,您不必自己输入。

    您可以使用+CSCA? 进行测试。

    【讨论】:

    • 是的。我已经测试过了。当我执行此命令+CSCA? 时,收到的响应是OK。所以这意味着我可以跳过使用+CSCA=设置CSCA的部分?
    • 它应该响应 +CSCA:xxxxx\r\nOK(您可能需要使用 ATV1 激活详细响应)
    • 是的响应与您提到的相同。有没有可能是 SIM 里面没有配置 CSCA 号码?
    • 大多数模拟人生都预先配置了运营商的详细信息,但我想有些人可能没有......如果你想防御性添加检查 +CSCA 的检测代码?并通知用户,或者等待第一次发送失败。
    • 如果失败,那么我应该从我的数据库中获取 CSCA 并使用+CSCA= 设置它。好吧,我希望摆脱从 DB 获取 CSCA。但为了安全起见,我应该始终设置它。你有什么建议?
    【解决方案2】:

    自从我搞砸了 GSM 已经有一段时间了,但我认为如果您打算以文本格式发送消息,则只需要配置服务中心。使用二进制 PDU 时,需要为您发送的每条 SMS 指定 SMSC 编号。

    【讨论】:

    • 嗯,我正在发送 PDU 格式的 SMS,并尝试在不设置 CSCA 的情况下发送它。它是成功的。所以我认为没有明确需要设置它,因为它已经在 SIM 中配置。
    【解决方案3】:

    前段时间,我在我的博客上写了一个使用 AT 命令发送短信的示例。它在 C# 中,但 AT 命令应该保持不变,看看http://www.softwarepassion.com/your-personal-sms-gateway-with-c/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多