着信・発信コールバックメッセージ
宣言
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.toast、sys.msleep、proc_queue_clear、thread.register_event、thread.unregister_event を使用しています