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.
Есть ли форма, которую я могу решить?
Ответы
Ответ 1
Я решил эту проблему. Вот код, решающий ее.
Intent shortcutIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+Uri.encode("*111*2#")));
startActivity(shortcutIntent);
Его работа прекрасна в моем конце.
Надеюсь, он также поможет вам, ребята...
Ответ 2
Попробуйте tel:629941945%2322412
вместо tel:629941945#22412
%23
будет заменен на #
Ответ 3
Попробуйте использовать другой символ для паузы. Посмотрите http://androidforums.com/android-applications/6733-how-do-i-dial-extension.html или http://code.google.com/p/android/issues/detail?id=7514
Но! Поскольку я вижу, что это не одно решение, и это зависит от модели телефона.
Ответ 4
Вы не можете разобрать такие специальные номера с URI, поскольку они не соответствуют стандарту tel:. (http://www.ietf.org/rfc/rfc3966.txt Страница 6ff)
Вы можете использовать ACTION_DIAL и дать пользователю возможность ввести номер самостоятельно. Возможно, тогда телефон интерпретирует это так, как это требуется для сигнала паузы p. Чтобы отправить такие сигналы паузы, ответьте Алексу Климашевскому.
Ответ 5
Попробуйте использовать "," (запятая) вместо p. Не знаю о "#", хотя, извините.
Ответ 6
Проверьте это, надеюсь, что это поможет:)
В некоторых телефонах нет символа "p", но "," (запятая), где-то это "T", и если ваш телефон не имеет этих модных символов, попробуйте "*" или "#". Надеюсь, один из этих персонажей будет работать. Остерегайтесь, на некоторые телефоны чувствительны к регистру букв, поэтому P не может работать.
Ответ 7
Пауза не поддерживается в спецификации tel URI.
http://www.ietf.org/rfc/rfc3966.txt
Как указано в другом ответе %23
, можно использовать для замены #
.