Programaticamente Disque um número de telefone e passar DTMF usando o iPhone SDK

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

  •  06-09-2019
  •  | 
  •  

Pergunta

Como você programaticamente faça o seguinte a partir do iPhone SDK:

  1. Dial programaticamente um número de telefone através do iPhone SDK

  2. Bypass o discar / cancelar prompt que o iPhone traz

  3. Enviar DTMF adicional após o número é marcado apenas como como você iria programar pausas em um telefone regular.

Eu sei que você pode fazer uma chamada tel:// mas a questão é que ele traz a marcação / cancelar a solicitação e depois que ele impede que qualquer futuro DTMF seja enviado.

Foi útil?

Solução

O iPhone SDK não lhe dá acesso directo para discar números (imagine se um programa de 'mau' tem em seu telefone e discou um pagamento por minuto número no mudo para que você não percebeu).

No entanto, se você usar o link tel, então você deve ser capaz de enviá-lo "" personagens que insere pausas.

Assim, para discar 555-1212, e depois esperar 4 segundos, em seguida, fazer 12345 # no tom de toque que você usaria tel: 5551212, 12345 #

Confira https://developer.apple.com/library/archive/ featuredarticles / iPhoneURLScheme_Reference / PhoneLinks / PhoneLinks.html

Outras dicas

Eu não sei porque todo mundo diz que você não pode ... você CAN !

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

Isto irá marcar o telefoneNumero ignorando a marcação / cancelar prompt de ... 1 segundo após a chamada é atendida, o dtmfAfterPickup string será marcado automaticamente.

É uma boa idéia para detectar se ou não o telefone suporte a dispositivos chama

link desenvolvedor da Apple Por Adam acima, há essa ligação RFC que explica mais sobre as diferentes opções para um esquema de ligação telefónica que os suportes para iPhone -

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

Esta, pelo menos, permite inserir pausas com um 'p' na URL, mas muitas das opções são especificados (mas não todos são necessários) por RFC. O que funciona mais?

Eu tentei com o meu iPhone usando CoronaSDK e API OpenURL. Funciona muito bem! Basta fazer: system.openURL ( "tel: [phonenumber], 123"). Você pode esperar mais com vírgulas additinal. Testado com Corona SDK / iOS7.

Na verdade, eu só tentei o seguinte 555-555-4822 EXT 8030

E parece transmitir alguns tons mesmo depois de premir de marcação (o número de p de representa o número de segundos de atraso). No entanto, os tons não estão sendo respondeu a na extremidade como esperado, assim que algo ainda está errado.

Isto funciona, no entanto, embora seja um pouco mais propensos a problemas de sincronismo tel: 555-555-4822, 8030. Isso só faz uma pausa por um segundo (,, seriam dois segundos) após a conexão, e depois joga o 8030 tons

Você não pode fazer isso. O SDK não permite que você controlar a função de telefone neste nível de detalhe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top