请求,并在Android上进行多步响应usd

时间:2018-06-25 14:47:15

标签: android ussd

我们正在开发一个需要与各种操作员USSD菜单进行交互的应用程序。 (USSD是GSM的非结构化补充服务数据)。我已经搜索并搜索了无济于事的解决方案。可能不可能。

我们需要能够发起一个usdd会话,例如拨打* 150 * 00#

电话会收到USSD响应-理想情况下,我们会立即隐藏或自动执行响应,因此它只需闪烁即可。

我们使响应自动化,通常是一系列响应,接收,响应直到完成。

然后该应用抓取收到的自动短信。

这需要理想地适用于preoreo和post之前的android版本,因此我假定使用accessibility服务pre和ussd api post。 API 26似乎可以正常进行1步的接收响应,但从我的阅读中看不到多步的响应。

最感谢您的帮助。

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
    }
});