8

当我直接从听筒拨打 a 时,它可以工作。例如:*123# 获取数字的余额。

但是,当我尝试在应用程序中做同样的事情时,我遇到了问题。拨号器中显示的号码缺少结尾的#。我在我的应用程序中需要它我希望我的应用程序应该支持所有 USSD 代码。

有没有办法在应用程序中拨打ussd代码?

4

2 回答 2

19

我不完全确定,但我认为 android 尚不支持 USSD,但是您可以尝试以下解决方法:

String encodedHash = Uri.encode("#");
String ussd = "*" + encodedHash + "123" + encodedHash;
startActivityForResult(new Intent("android.intent.action.CALL",
Uri.parse("tel:" + ussd)), 1);
于 2012-04-18T17:46:53.080 回答
2
String encodedHash = Uri.encode("*123#");
startActivityForResult(new Intent("android.intent.action.CALL",
Uri.parse("tel:" + encodedHash)), 1);
于 2018-06-12T10:29:56.050 回答