Программный набор номера телефона и передача DTMF с помощью iPhone SDK
Как вы программно выполните следующие действия с iPhone SDK:
-
Программный набор номера телефона через iPhone SDK
-
Обходите приглашение набрать/отменить, которое iPhone вызывает
-
Отправьте дополнительный DTMF после того, как набирается номер, точно так же, как вы будете программировать паузы в обычный телефон.
Я знаю, что вы можете сделать вызов tel://
, но проблема в том, что он вызывает приглашение набора/отмены и после этого предотвращает отправку любого последующего DTMF.
Ответы
Ответ 1
iPhone SDK НЕ дает вам прямой доступ к номерам телефонов (представьте, если на вашем телефоне появилась "плохая" программа и набрал номер оплаты за минуту при отключении звука, чтобы вы не заметили).
Однако, если вы используете tel-ссылку, вы можете отправить ее "," символы, которые вставляют паузы.
Итак, чтобы набрать 555-1212, а затем подождите 4 секунды, затем сделайте 12345 # на сенсорном тоне, который вы использовали бы tel: 5551212, 12345 #
Отъезд
https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html
-Adam
Ответ 2
Я не знаю, почему все говорят, что вы не можете... вы CAN!
NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
Это вызовет номер телефона в обход подсказки набора/отмены... через 1 секунду после ответа на вызов будет автоматически набираться строка dtmfAfterPickup.
Хорошая идея определить, поддерживает ли устройство телефонные звонки
Ответ 3
В приложении для разработчиков Apple Adam выше, есть эта ссылка RFC, которая объясняет больше о различных вариантах схемы телефонной линии, поддерживаемой iPhone -
http://www.ietf.org/rfc/rfc2806.txt
Это, по крайней мере, позволяет вставлять паузы с "р" в URL-адресе, но указано много параметров (но не все они требуются) в RFC. Что еще работает?
Ответ 4
Я пробовал использовать свой iPhone с помощью CoronaSDK и openurl API.
Он работает очень хорошо!
Просто выполните: system.openURL( "tel: [phonenumber], 123" ).
Вы можете подождать больше с добавочными запятыми.
Протестировано с помощью Corona SDK/iOS7.
Ответ 5
Собственно, я просто попробовал следующий 555-555-4822 EXT 8030
И, похоже, он передает некоторые тональные сигналы даже после нажатия диска (число p представляет собой количество секундной задержки). Тем не менее, тоны не реагируют на дальний конец, как ожидалось, поэтому что-то по-прежнему не так.
Это работает, однако, хотя это немного больше подвержено временным проблемам tel: 555-555-4822, 8030. Это просто пауза в течение одной секунды (, будет через две секунды) после соединения, а затем воспроизводит 8030 тона
Ответ 6
Вы не можете этого сделать. SDK не позволяет вам контролировать функцию телефона на этом уровне детализации.