首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交互式USSD会话的SMSLib示例

交互式USSD会话的SMSLib示例
EN

Stack Overflow用户
提问于 2012-11-07 19:03:19
回答 1查看 4.7K关注 0票数 2

我有一个为用户提供交互式会话的USSD应用程序,例如:

代码语言:javascript
复制
User> Dial USSD Shortcode
Serv> Return Main Menu
User> Select Option 1, e.g. "View Movie Times"
Serv> Return List of Cities
User> Select Option 3, e.g. Mumbai
Serv> Return List of Cinemas
User> etc ...

我想通过使用SMSLib来模拟用户来测试USSD服务器。

是否有任何示例SMSLib代码片段显示如何执行与USSD服务器的交互式USSD会话?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-10 04:33:05

link中的代码给出了使用smslib发送和接收USSD数据的示例:

// SendUSSD.java -示例应用程序。/此应用程序向您展示发送消息的基本步骤。//您将了解如何发送同步和异步消息。/对于异步分派,示例应用程序设置一个回调//通知,以查看消息发生了什么。package examples.modem;import org.smslib.AGateway;import org.smslib.AGateway.Protocols;import org.smslib.IUSSDNotification;import org.smslib.Library;import org.smslib.Service;import org.smslib.USSDResponse;import org.smslib.modem.SerialModemGateway;public类SendUSSD { public void ()抛出异常{ Service srv;ussdNotification USSDNotification = new USSDNotification();System.out.println(“示例:从串行gsm调制解调器发送USSD命令。”);System.out.println(Library.getLibraryDescription());System.out.println("Version:“+ Library.getLibraryVersion());srv =新服务();SerialModemGateway网关=新SerialModemGateway("modem.com1","COM4",19200,”华为“,"E220");gateway.setProtocol(Protocols.PDU);gateway.setInbound(true);Gateway.setOutbound(真);gateway.setSimPin("0000");srv.setUSSDNotification(ussdNotification);srv.addGateway(网关);srv.startService();System.out.println();System.out.println(“调制解调器信息:”);System.out.println(“制造商:”+ gateway.getManufacturer());System.out.println(“型号:”+ gateway.getModel());System.out.println(“序列号:”+ gateway.getSerialNo());System.out.println(“SIM:”+ gateway.getImsi());System.out.println(“信号级别:”+ gateway.getSignalLevel() + "%");System.out.println(“电池级别:”+ gateway.getBatteryLevel() + "%");System.out.println();String resp = gateway.sendUSSDCommand("*888#");//不工作// String resp = gateway.sendCustomATCommand("AT+CUSD=1,\"*888#\",15\r");//工作中的System.out.println(resp);System.out.println(“现在按睡眠-点击终止。”);System.in.read();srv.stopService();}公共类USSDNotification实现了IUSSDNotification {公共空进程(AGateway网关,USSDResponse响应){System.out.println(“从网关调用的USSD处理程序:”+ gateway.getGatewayId());System.out.println(响应);}}公共静态空main(String args[]) { SendUSSD app =新的SendUSSD();尝试{ app.doIt();} catch (Exception e) { e.printStackTrace();}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13268389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档