Программно наберите номер телефона и передайте DTMF, используя iPhone SDK

StackOverflow https://stackoverflow.com/questions/584663

  •  06-09-2019
  •  | 
  •  

Вопрос

Как вы программно выполняете следующее из iPhone SDK:

  1. Программный набор телефонного номера через iPhone SDK

  2. Обойти набрать / отменить подскажите, что iPhone выводит на экран

  3. Отправьте дополнительный DTMF после набора номера точно так же, как вы запрограммировали бы паузы в обычном телефоне.

Я знаю, что ты можешь сделать tel:// вызов, но проблема в том, что он выводит запрос набора / отмены и после этого предотвращает отправку любого будущего DTMF.

Это было полезно?

Решение

iPhone SDK НЕ предоставляет вам прямого доступа к набору номеров (представьте, что "плохая" программа проникла на ваш телефон и набрала номер с поминутной оплатой при отключении звука, чтобы вы не заметили).

Однако, если вы используете ссылку tel, то вы должны иметь возможность отправить ее "," символы, которые вставляют паузы.

Итак, чтобы набрать 555-1212, затем подождите 4 секунды, затем наберите 12345 # на сенсорном тоне, который вы бы использовали по телефону: 5551212,,12345#

Проверьте https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html

Другие советы

Я не знаю, почему все говорят, что ты не можешь...ты МОЖЕТ!

NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];

Это позволит набрать Номер телефона обход запроса набора / отмены...через 1 секунду после ответа на вызов, dtmfAfterPickup ( Предварительный просмотр ) строка будет набрана автоматически.

Это хорошая идея, чтобы определяет, поддерживает ли устройство телефонные звонки

По ссылке Adam's Apple developer, приведенной выше, есть ссылка RFC, которая подробнее объясняет различные параметры схемы телефонной связи, поддерживаемой iPhone -

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

Это, по крайней мере, позволяет вам вставлять паузы с буквой "p" в URL, но в RFC указано множество параметров (но не все обязательны).Что еще работает?

Я попробовал на своем iPhone использовать CoronaSDK и openurl API.Это работает очень хорошо!Просто делай:system.openURL("тел: [номер телефона],123").Вы можете подождать еще с дополнительными запятыми.Протестировано с Corona SDK / iOS7.

На самом деле, я только что попробовал следующий 555-555-4822 EXT 8030

И, похоже, он передает некоторые звуковые сигналы даже после нажатия кнопки dial (число p представляет собой количество секунд задержки).Однако на дальнем конце не реагируют на звуковые сигналы, как ожидалось, так что что-то все еще не так.

Однако это действительно работает, хотя и немного более подвержено проблемам с синхронизацией.:555-555-4822, 8030.Это просто приостанавливается на одну секунду (,, было бы две секунды) после подключения, а затем воспроизводит 8030 звуковых сигналов

Ты не можешь этого сделать.SDK не позволяет вам управлять функцией телефона с таким уровнем детализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top