Intereting Posts
Как получить доступ к хранилищу SMS на Android? Java.lang.SecurityException: сбой разрешения BLUETOOTH. (Только для устройств Samsung) Android – поместить имя изображения «пакет» выдает ошибку времени компиляции Добавить библиотеку Google Analytics в проект Maven Firebase Android: медленное «соединение» с использованием многих слушателей, похоже, противоречит документации Как сохранить загруженный файл на SD-карте из диспетчера программ программно на Android Android: полноэкранная активность с панелью заголовка Android wifimanager всегда возвращает true Как я могу получить серийный номер SD-карты в Android 7.0+? Создание LayoutParams на основе типа родительского Получить все видимые объекты на lListView @NonNull и @Nullable аннотации – влияет ли это на производительность в Android? Получите профиль видеопотока MPEG-4 программно на Android Запустите Google Карты, чтобы показывать дорожные указатели Android localStorage исчезает после стирания приложения из ОЗУ

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 может использоваться для замены # .