[如果有人能帮助我在android上自动执行USSD部分,以便在USSD代码*123#
之后,我会很高兴,应用程序应自动选择选项1,然后在下一个菜单上它应该选择让说选项2,在某些服务中,像this (*123*1*2#)
这样的方法有效,但在我的情况下它不起作用。
感谢任何人提供答案。
我希望这些步骤系统地运行,以便仅弹出最后的结果。
String ussdCode = "*" + "123"+"%23";
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
*123*1*2#
的问题是某些电信公司将允许它提供某些服务,但是在很多情况下,出于安全原因,它们会阻止它。 Google在Oreo中添加了一个API,但面临相同的限制-仅适用于USSD服务,您可以在开始时拨打整个USSD代码并获取响应,而无需在会话中输入任何内容。
我的公司Hover开发了一个Android SDK,该SDK使用可访问性服务来运行多步USSD会话,并使其似乎在您的应用程序中发生。您可以为USSD服务创建配置,触发会话以从您的应用运行,并传入所需的任何运行时变量。用户永远不会看到USSD会话,并且在返回响应时会通知您的应用程序,您可以根据需要对其进行解析并将其显示在自己的界面中。它适用于Android 4.3及更高版本。
SDK可以自由集成和使用,直到您大规模使用。请参阅我们的docs开始使用。
(公开:我是Hover的CTO)