2016-07-08 2 views
0

Я пытаюсь сделать телефонный звонок на номер, содержащий «#» и «*». Моя проблема: «#» не записал номер, который я пытаюсь позвонить.Сделайте телефонный номер с номером «#»

Пример: телефонный звонок на «* 142 #», он просто показывает телефонный звонок «* 142».

Я использую:

Intent i = new Intent() 
     .setAction(Intent.ACTION_CALL) 
     .setData(Uri.parse("tel:*142#")); 
startActivity(i); 

ответ

0

Попробуйте

Uri.parse(String.format("tel:%s", Uri.encode(number))) 
+0

Я не могу использовать его! , Зачем? –

+0

Мне нужна дополнительная информация. Что значит, вы не можете его использовать? – BR89

+0

Проверьте эту тему http://stackoverflow.com/questions/4815785/initiate-a-phone-call-on-android-with-special-character – BR89

1

Вопрос у вас есть, потому что # это специальный символ для адресов URI. Чтобы обойти это, вам нужно закодировать его с помощью URI.encode. Посмотрите и попробуйте следующее:

Intent i = new Intent() 
      .setAction(Intent.ACTION_CALL) 
      .setData(URI.parse("tel:" + URI.encode("*142#")); 
startActivity(i); 
Смежные вопросы