Zum Hauptinhalt springen

Callback-Nachrichten bei eingehenden und ausgehenden Anrufen

Deklaration

thread.register_event("xxtouch.call_callback", function(val)
if (val == "in") then
-- Eingehender Anruf
elseif (val == "out") then
-- Ausgehender Anruf
elseif (val == "disconnected") then
-- Anruf beendet
end
end)

Status

  • in
    • Bei einem eingehenden Anruf fügt das mit xxtouch.call_callback bezeichnete Wörterbuch der Prozesswarteschlange diesen Wert ein.
  • out
    • Bei einem ausgehenden Anruf fügt das mit xxtouch.call_callback bezeichnete Wörterbuch der Prozesswarteschlange diesen Wert ein.
  • disconnected
    • Beim Beenden eines eingehenden oder ausgehenden Anrufs fügt das mit xxtouch.call_callback bezeichnete Wörterbuch der Prozesswarteschlange diesen Wert ein.

Beschreibung

Beim Empfang einer Systemnachricht über einen eingehenden oder ausgehenden Anruf fügt das zu dieser Nachricht gehörende Wörterbuch der Prozesswarteschlange einen Status ein.

Beispiel

-- Nachrichtenwarteschlange leeren
proc_queue_clear("xxtouch.call_callback")
--
sys.toast("脚本从现在开始监听来电事件,二十秒后取消监听")
--
-- Listener-Callback registrieren
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 Sekunden warten
--
-- Callback abmelden; ohne Abmeldung des Listeners würde das Skript hier nicht enden
thread.unregister_event("xxtouch.call_callback", eid)

Hinweis: Der obige Code verwendet die Funktionen sys.toast, sys.msleep, proc_queue_clear, thread.register_event und thread.unregister_event aus anderen Kapiteln.