Mensajes de callback de llamadas entrantes y salientes
Declaración
thread.register_event("xxtouch.call_callback", function(val)
if (val == "in") then
-- llamada entrante
elseif (val == "out") then
-- llamada saliente
elseif (val == "disconnected") then
-- llamada finalizada
end
end)
Estados
- in
- Cuando entra una llamada, el diccionario de la cola de procesos identificado por xxtouch.call_callback introduce este valor
- out
- Cuando se realiza una llamada saliente, el diccionario de la cola de procesos identificado por xxtouch.call_callback introduce este valor
- disconnected
- Cuando termina una llamada entrante o saliente, el diccionario de la cola de procesos identificado por xxtouch.call_callback introduce este valor
Descripción
Al recibir un mensaje del sistema sobre una llamada entrante o saliente, el diccionario de la cola de procesos identificado por el mensaje introduce un estado.
Ejemplo
-- vaciar la cola de mensajes
proc_queue_clear("xxtouch.call_callback")
--
sys.toast("脚本从现在开始监听来电事件,二十秒后取消监听")
--
-- comenzar a registrar el callback de supervisión
local eid = thread.register_event("xxtouch.call_callback", function(val)
if (val == "in") then
sys.toast("来电话了")
elseif (val == "out") then
sys.toast("正在打电话出去")
elseif (val == "disconnected") then
sys.toast("电话挂断了")
end
end)
--
sys.msleep(20000) -- esperar 20 segundos
--
-- anular el registro del callback; si no se anula la supervisión, el script no terminará aquí
thread.unregister_event("xxtouch.call_callback", eid)
Nota: el código anterior utiliza las funciones sys.toast, sys.msleep, proc_queue_clear, thread.register_event y thread.unregister_event, que no pertenecen a este capítulo.