2014-07-21 1 views
0

안드로이드 : 에뮬레이터의 다이얼 화면이나 실제 장치에 # (해쉬) 기호가 표시되지 않습니다!에뮬레이터의 다이얼 화면에서 # 기호가 누락되었습니다.

* 및 숫자 만 표시됩니까? 어떻게 다이얼 화면으로 보낼 수 있습니까? 그러나 (Intent.ACTION_CALL) 같은 다른 작업을 사용했지만 동일한 결과가 변경되지 않습니다!

Inetent i = new Intent(Intent.ACTION_DIAL); 
i.setData(Uri.parse("tel:1234567890*#")); 
startActivity(i); 

어떤 도움을 주시면 감사하겠습니다.

+0

과 동일 http://stackoverflow.com/questions/24544579/dial-screen-doesnt-display-hash-sign-either-in-emulator-or-a-real-device – fadden

답변

1

# 기호special meaning in URIs을 가지고, 그래서 당신은이 같은 Uri.encode() 방법을 사용하여 인코딩 할 수 있습니다

Inetent i = new Intent(Intent.ACTION_DIAL); 
    i.setData(Uri.parse("tel:" + Uri.encode("1234567890*#"))); 
    startActivity(i); 

을 또는 당신은

Inetent i = new Intent(Intent.ACTION_DIAL); 
    i.setData(Uri.parse("tel:" + "1234567890*" + "%23"))); 
    startActivity(i); 
+0

대단히 감사합니다. –

+0

@AbdurrhmanZahrani 도와 주시겠습니까?이 답변을 수락하는 것을 잊지 마십시오. –

0
로 # 키를 시작하기 위해 특수 문자 맵을 사용할 수 있습니다
Intent i = new Intent(Intent.ACTION_DIAL); 
     final String encodedHash = Uri.encode("#"); 
     i.setData(Uri.parse("tel:1234567890*"+encodedHash)); 
     startActivity(i); 

'#'은 Uri를 위해 예약되었습니다 .. 참조 : http://developer.android.com/reference/android/net/Uri.html

관련 문제