我们正在开发一个需要与各种操作员USSD菜单进行交互的应用程序。 (USSD是GSM的非结构化补充服务数据)。我已经搜索并搜索了无济于事的解决方案。可能不可能。
我们需要能够发起一个usdd会话,例如拨打* 150 * 00#
电话会收到USSD响应-理想情况下,我们会立即隐藏或自动执行响应,因此它只需闪烁即可。
我们使响应自动化,通常是一系列响应,接收,响应直到完成。
然后该应用抓取收到的自动短信。
这需要理想地适用于preoreo和post之前的android版本,因此我假定使用accessibility服务pre和ussd api post。 API 26似乎可以正常进行1步的接收响应,但从我的阅读中看不到多步的响应。
最感谢您的帮助。
答案 0 :(得分:-2)
您可以将此库用于多步骤usd https://github.com/romellfudi/VoIpUSSD。它利用可访问性服务来刮取,填充和关闭usd对话框
说您要执行此usdd序列* 122#-> 1->最终结果
这是您可以做到的
USSDApi ussdApi = USSDController.getInstance(context);
ussdApi.callUSSDInvoke("*122#", map, new
USSDController.CallbackInvoke() {
@Override
public void responseInvoke(String message) {
// message has the response for *122#
ussdApi.send("1", new USSDController.CallbackMessage(){
@Override
public void responseMessage(String message) {
// message has the response for 1
}
});
}
@Override
public void over(String message) {
// message contains the final result
}
});