我正在使用 SMSLib 发送和接收消息。一切工作正常,但现在我想插入多个调制解调器。我想通过所有调制解调器接收消息并用它们做一些事情(我想我可以做到)。我也想发送消息,但只能通过选定的调制解调器(这是我的问题)。在我拥有一个网关之前,我是这样发送的:
OutboundMessage msg = new OutboundMessage(recipientNumber, text);
Service.getInstance().sendMessage(msg);
但是现在,我如何选择我想要用来发送消息的一个特定网关?
我发现一个主题的问题有点像我的问题,但不完全是: Use multiple gateway with SMSLIB
最佳答案
每个调制解调器都是 SMSLib 中的一个 AGatway 对象,因此您需要先对其进行设置:
SerialModemGateway modemGateway = new SerialModemGateway("FirstGateway", "/dev/ttyM0", "9600", "WAVECOM", "Fastrack");
Service.getInstance().addGateway(modemGateway);
其中 FirstGateway 是调制解调器的 ID,在 SMSLib 中称为 gatewayId。您现在要做的就是将 gatewayId 传递给 sendMessage 方法或 queueMessage(如果您异步发送消息):
OutboundMessage msg = new OutboundMessage(recipientNumber, text);
Service.getInstance().sendMessage(msg, "FirstGateway");
或者:
OutboundMessage msg = new OutboundMessage(recipientNumber, text);
msg.setGatewayId("FirstGateway");
Service.getInstance().sendMessage(msg);
关于java - SMSLib发送消息,使用多个网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791461/