メインコンテンツまでスキップ

着信・発信コールバックメッセージ

宣言

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("脚本从现在开始监听来电事件,二十秒后取消监听")
--
-- リスニングコールバックの登録を開始
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 秒待機
--
-- コールバックの登録を解除します。リスニングの登録を解除しない場合、スクリプトはここで終了しません
thread.unregister_event("xxtouch.call_callback", eid)

:上記のコードでは、この章で扱っていない関数 sys.toastsys.msleepproc_queue_clearthread.register_eventthread.unregister_event を使用しています