如何在android上运行USSD命令?

Mic*_*ans 12 java android ussd android-ndk android-manifest

有谁知道如何运行USSD命令检查电话的信用余额(数字是*123#)并获得结果(贷方余额)进一步处理?thankss

Bos*_*ude 25

您可以在Android设备中运行USSD代码,但无法在应用程序中解析结果.此功能可能会在未来添加到Android SDK中,但就目前而言,您必须寻找替代方案.

USSD可以使用简单的Call Intent运行.见例子:

String ussdCode = "*" + "123" + Uri.encode("#");
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussdCode)));
Run Code Online (Sandbox Code Playgroud)

如评论中所述,电话呼叫权限也是必需的

<uses-permission android:name="android.permission.CALL_PHONE" /
Run Code Online (Sandbox Code Playgroud)

  • 可以用`Intent.ACTION_CALL`替换``android.intent.action.CALL`` (3认同)

小智 5

您可以使用“%23”代替“#”:

String ussdCode = "*" + "123"+"%23";
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
Run Code Online (Sandbox Code Playgroud)

您还应该向清单文件添加权限:

<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)