【发布时间】:2011-11-05 17:00:18
【问题描述】:
有没有人知道如何运行USSD命令来检查手机的信用余额(号码是*123#)并得到结果(信用余额)做进一步处理?谢谢
【问题讨论】:
标签: java android android-ndk android-manifest ussd
有没有人知道如何运行USSD命令来检查手机的信用余额(号码是*123#)并得到结果(信用余额)做进一步处理?谢谢
【问题讨论】:
标签: java android android-ndk android-manifest ussd
您可以在 Android 设备中运行 USSD 代码,但无法在应用程序中解析结果。将来可能会将此功能添加到 Android SDK 中,但现在,您必须寻找替代方案。
USSD 可以使用简单的调用意图来运行。见例子:
String ussdCode = "*" + "123" + Uri.encode("#");
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussdCode)));
如cmets中所说,还需要通话权限
<uses-permission android:name="android.permission.CALL_PHONE" /
【讨论】:
Intent.ACTION_CALL 替换"android.intent.action.CALL"
你可以用“%23”代替“#”:
String ussdCode = "*" + "123"+"%23";
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));
您还应该为您的清单文件添加权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
【讨论】: