web-dev-qa-db-fra.com

Composer un numéro de téléphone par programme et transmettre DTMF à l'aide du kit de développement logiciel (SDK) pour iPhone

Comment procédez-vous par programme à partir du kit de développement logiciel iPhone:

  1. Composer un numéro de téléphone par programme via le SDK iPhone

  2. Ignorer le composer/annuler l'invite que l'iPhone affiche

  3. Envoyez des DTMF supplémentaires après la composition du numéro, comme vous le feriez pour programmer des pauses dans un téléphone ordinaire. 

Je sais que vous pouvez effectuer un appel tel://, mais le problème est qu’il ouvre l’invite de numérotation/annulation et qu’il empêche ensuite l’envoi de tout autre fichier DTMF.

30
L. DPenha

Le Kit de développement logiciel (SDK) iPhone ne vous donne PAS un accès direct aux numéros de composition (imaginez si un "mauvais" programme est entré sur votre téléphone et a composé un numéro à la minute en mode muet pour que vous ne le remarquiez pas).

Cependant, si vous utilisez le lien tel, vous devriez pouvoir l'envoyer "," caractères insérant des pauses.

Donc, pour composer 555-1212, puis attendez 4 secondes, puis faites 12345 # sur la tonalité que vous utiliseriez, tel: 5551212, 12345 #

Découvrez https://developer.Apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html

-Adam

30
Adam Davis

Je ne sais pas pourquoi tout le monde dit que vous ne pouvez pas ... vousPOUVEZ!

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

Ceci composera lephoneNumberen ignorant l'invite de numérotation/annulation ... 1 seconde après la réponse à l'appel, ledtmfAfterPickupchaîne sera être composé automatiquement.

C’est une bonne idée de détecter si le périphérique prend en charge les appels téléphoniques

18
AlBeebe

Pour le lien de développeur Apple d'Adam ci-dessus, il existe un lien RFC qui explique plus en détail les différentes options de schéma de liaison téléphonique prises en charge par l'iPhone -

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

Cela vous permet au moins d'insérer des pauses avec un 'p' dans l'URL, mais bon nombre des options sont spécifiées (mais toutes ne sont pas obligatoires) conformément à la RFC. Quoi d'autre fonctionne?

2

J'ai essayé avec mon iPhone avec CoronaSDK et l'API openurl. Cela fonctionne très bien! Il suffit de faire: system.openURL ("tel: [numéro de téléphone], 123"). Vous peut attendre plus longtemps avec des virgules supplémentaires. Testé avec Corona SDK/iOS7.

1
Rockford

En fait, je viens d'essayer ce qui suit 555-555-4822 EXT 8030 

Et il semble que certaines tonalités soient transmises même après avoir appuyé sur la touche dial (le nombre de p représente le nombre de secondes). Cependant, les sons ne sont pas pris en charge comme prévu, donc quelque chose ne va pas.

Cela fonctionne, cependant, bien qu'il soit un peu plus sujet aux problèmes de minutage tel: 555-555-4822, 8030. Ceci marque une pause d'une seconde (, serait de deux secondes) après la connexion, puis joue les 8030 notes

0
andy