我正在考虑有一个hammerspoon wifi watcher,它会定期检查并在wifi未连接时禁用wifi。
以下脚本执行此操作,
function checkAndDisableWifi()
hs.timer.doAfter(45, function()
local current_network = hs.wifi.currentNetwork()
if current_network == nil then
hs.wifi.setPower(false)
hs.notify.new({title="Hammerspoon",informativeText="Disabling wifi due to inactivity"}):send()
end
end)
end
function wifi_timer_callback()
local wifi_state = hs.wifi.interfaceDetails().power
if wifi_state then
local current_network = hs.wifi.currentNetwork()
if current_network == nil then
hs.wifi.setPower(false)
hs.notify.new({title="Hammerspoon",informativeText="Disabling wifi due to inactivity"}):send()
end
else
hs.wifi.setPower(true)
checkAndDisableWifi()
end
end
local wifi_timer = hs.timer.doEvery((10*60), wifi_timer_callback)
wifi_timer:start()
在这里,我遇到了一个问题,例如如果用户已经通过 LAN 连接了怎么办。此时我不需要启用此观察程序(以停止打开和关闭 wifi 的切换)。所以我需要的是,是否有任何 API 可以告诉我用户是否已经通过 LAN 连接或至少连接到互联网?
我清楚了吗?