Mensagens de callback de chamadas recebidas e efetuadas
Declaração
thread.register_event("xxtouch.call_callback", function(val)
if (val == "in") then
-- há uma chamada recebida
elseif (val == "out") then
-- há uma chamada efetuada
elseif (val == "disconnected") then
-- a chamada foi encerrada
end
end)
Estado
- in
- Quando uma chamada é recebida, o dicionário da fila de processos identificado por xxtouch.call_callback recebe este valor.
- out
- Quando uma chamada é efetuada, o dicionário da fila de processos identificado por xxtouch.call_callback recebe este valor.
- disconnected
- Quando uma chamada recebida ou efetuada é encerrada, o dicionário da fila de processos identificado por xxtouch.call_callback recebe este valor.
Descrição
Quando uma mensagem de chamada recebida ou efetuada do sistema é recebida, o dicionário da fila de processos identificado pela mensagem recebe um estado.
Exemplo
-- limpa a fila de mensagens
proc_queue_clear("xxtouch.call_callback")
--
sys.toast("脚本从现在开始监听来电事件,二十秒后取消监听")
--
-- começa a configurar o callback de escuta
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) -- aguarda 20 segundos
--
-- cancela o registro do callback; sem cancelar a escuta, o script não termina aqui
thread.unregister_event("xxtouch.call_callback", eid)
Nota: o código acima usa as funções sys.toast, sys.msleep, proc_queue_clear, thread.register_event e thread.unregister_event, que não pertencem a este capítulo.