Pular para o conteúdo principal

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.