2015-08-18 52 views
0

我試圖用我的應用程序調用以下格式。Intent.ACTION_CALL忽略android中的'#'

AcessNumber,CalleeNumber# 

尾隨#減少dtmf觸發持續時間。但它不起作用(打電話工作,但減少延遲不起作用)。如果我撥打本地phone appformat相同,則每次都有效。我三重檢查了我的代碼,它肯定會加上尾隨#

final Intent callIntent = new Intent(Intent.ACTION_CALL); 
StringBuilder buffer = new StringBuilder(); 
buffer.append("tel:"); 
buffer.append(accessNumber); 
buffer.append(","); 
buffer.append(number); 
buffer.append("#"); 
callIntent.setData(Uri.parse(buffer.toString()); 
startActivity(callIntent); 
Log.e("caller number", callIntent.getData().toString()); 

回答

1

中非常常見的問題編碼器。 你需要解決這個問題的方法是輸入以下代碼: String encodedhash = Uri.encode(「#」);

而不是 buffer.append(「#」); 使用 buffer.append(encodedHash);

歡呼聲從伊朗

加布裏埃爾

0

的問題在我看來,在該線上

callIntent.setData(Uri.parse(buffer.toString()); 

如果你分析你的緩衝區,然後它會刪除#角色嘗試,而不是像這樣

callIntent.setData((Uri.parse(buffer.toString())+"#"); 
+0

Log.e( 「主叫號碼」,callIntent.getData()的toString());這一行用#打印行。第二,你不能聯繫字符串與Uri即callIntent.setData((Uri.parse(buffer.toString())+「#」); – shantanu