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.