有没有一种方法可以将onclick侦听器设置为USSD对话框按钮?

时间:2019-07-29 10:52:42

标签: android accessibilityservice ussd

我正在编写一个通过API与支付网关接口的应用程序。启动付款交易后,网关会推送/强制在电话上打开USSD对话框。我的目标是在单击取消发送按钮时向用户显示反馈。

我正在寻找

List<AccessibilityNodeInfo> list = source.findAccessibilityNodeInfosByText("Send");

for (AccessibilityNodeInfo node : list) {
    node.setOnClickListener(...);
}

1 个答案:

答案 0 :(得分:0)

无法直接获取点击事件。使用无障碍服务是正确的方法,但是您必须侦听对话框窗口事件并阅读它们的内容。您可以获取单击按钮的事件,但是我不确定是否值得,因为您将无法确定会话中输入了什么。

我的公司Hover开发了一个Android SDK,该SDK使用可访问性服务来运行多步USSD会话,并使其似乎在您的应用程序中发生。您可以为USSD服务创建配置,触发会话以从您的应用运行,并传入所需的任何运行时变量。用户永远不会看到USSD会话,并且在返回响应时会通知您的应用,您可以根据需要对其进行解析。它适用于Android 4.3及更高版本。

SDK是免费集成和使用的,直到您大规模使用为止。请参阅我们的docs开始使用。

(披露:我是Hover的CTO)