2011-08-29 84 views
9

有谁知道如何运行USSD命令检查手机的贷方余额(数字是* 123#)并获得结果(贷方余额)以作进一步处理?谢谢如何在android上运行USSD命令?

+0

可能重复[如何在Android上执行USSD请求?](http://stackoverflow.com/questions/5477597/how-is-it-possible-to-do-do-do-ussd-requests-on-android) –

回答

22

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

USSD可以使用简单的调用意图运行。请参阅示例:

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

作为评论的电话许可提到的,还需要

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

谢谢Bosah ..有一个愉快的一天.. :) –

+3

可以用'Intent.ACTION_CALL' –

+0

替换''android.intent.action.CALL''你应该通过添加以下这行代码来调用权限: ** <使用权限android:name =“android.permission.CALL_PHONE”/> ** –

2

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

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

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

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

有没有办法解析ussd结果,我需要捕获的平衡我的电话在定期间隔, –