ios - number - Marcar un número de teléfono mediante programación y pasar DTMF usando el iPhone SDK
swift call phone (6)
¿Cómo se hace lo siguiente en el SDK del iPhone mediante programación?
Marcar un número de teléfono mediante programación a través del SDK del iPhone
Omita el aviso de marcar / cancelar que el iPhone muestra
Envíe DTMF adicional después de que se marque el número, de la misma forma que programaría las pausas en un teléfono normal.
Sé que puede hacer una llamada de tel://
pero el problema es que hace que aparezca el aviso de marcar / cancelar y, a continuación, evita que se envíe un DTMF en el futuro.
El iPhone SDK NO le da acceso directo a los números de marcación (imagine que un programa "malo" se haya cargado en su teléfono y haya marcado un número de pago por minuto en silencio, así que no se dio cuenta).
Sin embargo, si utiliza el enlace de tel, entonces debería poder enviarlo "," caracteres que inserta pausas.
Entonces, para marcar 555-1212, espere 4 segundos, luego haga 12345 # en el tono de toque que usaría tel: 5551212,, 12345 #
-Adán
En realidad, probé lo siguiente 555-555-4822 EXT 8030
Y parece transmitir algunos tonos incluso después de presionar el dial (el número de p representa la cantidad de segundos de retraso). Sin embargo, los tonos no se responden en el otro extremo como se esperaba, por lo que todavía hay algo mal.
Esto funciona, sin embargo, aunque es un poco más propenso a los problemas de tiempo, tel: 555-555-4822, 8030. Esto se detiene por un segundo (serían dos segundos) después de la conexión y luego se reproducen los 8030 tonos.
No puedes hacer esto. El SDK no le permite controlar la función del teléfono en este nivel de detalle.
No sé por qué todo el mundo dice que no puedes ... ¡ PUEDES !
NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
Esto marcará el número de teléfono sin pasar por el aviso de marcar / cancelar ... 1 segundo después de que se atienda la llamada, la cadena dtmfAfterPickup se marcará automáticamente.
Es una buena idea detectar si el dispositivo admite o no llamadas telefónicas
Probé con mi iPhone usando CoronaSDK y API openurl. ¡Funciona muy bien! Solo hazlo: system.openURL ("tel: [phonenumber], 123"). Puedes esperar más con comas adicionales. Probado con Corona SDK / iOS7.
Según el enlace de desarrollador de Apple de Adam anterior, existe este enlace de RFC que explica más sobre las diferentes opciones para un esquema de enlace telefónico que admite el iPhone:
http://www.ietf.org/rfc/rfc2806.txt
Esto al menos le permite insertar pausas con una ''p'' en la URL, pero muchas de las opciones están especificadas (pero no todas son obligatorias) según el RFC. ¿Qué más funciona?