Callback-сообщения о входящих и исходящих звонках
Объявление
thread.register_event("xxtouch.call_callback", function(val)
if (val == "in") then
-- Входящий звонок.
elseif (val == "out") then
-- Исходящий звонок.
elseif (val == "disconnected") then
-- Звонок завершён.
end
end)
Состояния
- in
- При входящем звонке в словарь очереди процессов с идентификатором xxtouch.call_callback добавляется это значение.
- out
- При исходящем звонке в словарь очереди процессов с идентификатором xxtouch.call_callback добавляется это значение.
- disconnected
- При завершении входящего или исходящего звонка в словарь очереди процессов с идентификатором xxtouch.call_callback добавляется это значение.
Описание
При получении системного сообщения о входящем или исходящем звонке в словарь очереди процессов, идентифицированный этим сообщением, добавляется состояние.
Пример
-- Очищает очередь сообщений.
proc_queue_clear("xxtouch.call_callback")
--
sys.toast("脚本从现在开始监听来电事件,二十秒后取消监听")
--
-- Регистрирует callback-наблюдатель.
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) -- Ждёт 20 секунд.
--
-- Отменяет регистрацию callback; без этого скрипт не завершится здесь.
thread.unregister_event("xxtouch.call_callback", eid)
Примечание: в приведённом коде используются функции из других глав: sys.toast, sys.msleep, proc_queue_clear, thread.register_event и thread.unregister_event.