2

我尝试使用 GSM 代码通过 android 应用程序转移我的电话。例如,如果我打电话:**21*otherNumber# 我所有的电话都将转移到 otherNumber。

我的代码:

Uri transfert = Uri.parse( "tel:**21*" + numero + "#");
Intent intent = new Intent( Intent.ACTION_CALL, transfert );
startActivity(intent);

但是,Uri.parse() 有定义:“URI 引用包括一个 URI 和一个片段,URI 的组件在 '#' 之后”

所以,它删除了 # 但我需要它。没有它,GSM 代码将无法工作。

有人会有想法吗?

4

2 回答 2

2

我认为您不能拨打带有分机的电话号码,这是一个已知问题(请参阅此)。

根据这个线程,你可以尝试添加%23喜欢Uri.parse( "tel:**21*" + numero + "%23");

于 2013-05-15T16:42:06.320 回答
0

您需要发送一个 URI 编码的散列以通过 URI 对其进行解析。

public static final String encodedHash = Uri.encode("#");

它将保留 URI 编码的哈希并按照您的指定通过 GSM 发送 USSD 消息。

于 2013-06-22T11:13:22.860 回答