2013-05-15 26 views
2

我嘗試使用GSM代碼通過Android應用程序傳輸我的通話。 例如,如果我打電話:** 21 * otherNumber# 我的所有電話都將在其他號碼上轉移。如何使用Uri.parse()並在末尾使用#

我的代碼:

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

然而,Uri.parse()具有用於定義: 「的URI引用包括URI和片段,所述URI的以下一個 '#' 分量」

因此,它刪除#但我需要它。沒有它,GSM代碼就無法工作。

有人會有想法嗎?

回答

2

我不認爲你不能撥打帶分機的電話號碼,這是一個已知的問題(see this)。

this thread,你可以嘗試添加%23Uri.parse("tel:**21*" + numero + "%23");

+0

我錯過了這篇文章,謝謝你的作品! 我也會看看ACTION_CALL。 – Underground72

0

您需要發送一個URI編碼哈希通過URI來解析它。

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

它會保留URI編碼的散列值,並按照您的指定通過GSM發送USSD消息。

相關問題