Android Как сделать вызов, который включает «#» или «p» в циферблате?

Мне нужно сделать звонки в моем приложении для Android, которое включает в себя «#» или «p» на циферблате.

Если я использую следующий код:

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:629941945#22412")); startActivity(intent); 

Он звонит на номер 629941945 без # и 22412 .

И если я использую следующий код:

 Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:629941945p22412")); startActivity(intent); 

Он делает вызов без «p»: 62994194522412.

Есть форма, которую я могу решить?

Solutions Collecting From Web of "Android Как сделать вызов, который включает «#» или «p» в циферблате?"

Я решил эту проблему. Вот код, решающий ее.

 Intent shortcutIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+Uri.encode("*111*2#"))); startActivity(shortcutIntent); 

Его работа прекрасна в конце. Надеюсь, он также поможет вам, ребята …

Попробуйте использовать другой символ для паузы. Посмотрите http://androidforums.com/android-applications/6733-how-do-i-dial-extension.html или http://code.google.com/p/android/issues/detail?id=7514 Но ! Как я вижу, это не одно решение, и это зависит от модели телефона

Попробуйте tel:629941945%2322412 вместо tel:629941945#22412

%23 будет заменено на #

Вы не можете разобрать такие специальные номера с URI, поскольку они не соответствуют стандарту tel:. (http://www.ietf.org/rfc/rfc3966.txt Страница 6ff) Возможно, вы захотите использовать ACTION_DIAL и дать пользователю возможность ввести номер самостоятельно. Возможно, тогда телефон интерпретирует это так, как это требует сигнал паузы p. Чтобы отправить такие сигналы паузы, ответьте Алексу Климашевскому.

Попробуйте использовать «,» (запятая) вместо p. Не знаю о «#», хотя, извините.

Проверьте это, надеюсь, что это поможет 🙂

В некоторых телефонах нет символа «p», но «,» (запятая), где-то «T», и если ваш телефон не имеет этих модных символов, попробуйте «*» или «#». Надеюсь, один из этих персонажей будет работать. Остерегайтесь, на некоторых телефонах буквы чувствительны к регистру, поэтому P не может работать.

Пауза не поддерживается в спецификации tel URI.

http://www.ietf.org/rfc/rfc3966.txt

Как указано в другом ответе, %23 может использоваться для замены # .