如何在android上运行USSD命令?

时间:2011-08-29 00:50:10

标签: java android android-ndk android-manifest ussd

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

2 个答案:

答案 0 :(得分:25)

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

USSD可以使用简单的Call Intent运行。参见示例:

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

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

<uses-permission android:name="android.permission.CALL_PHONE" /

答案 1 :(得分:4)

您可以使用&#34;%23&#34;而不是&#34;#&#34; :

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

您还应该为Manifest文件添加权限:

<uses-permission android:name="android.permission.CALL_PHONE" />