检测wifi是否启用(无论是否连接)

2024-05-03

对于 GPS 跟踪应用程序来说,在打开 WIFI 的情况下记录位置信号会导致数据非常不精确或存在间隙。

在开始跟踪之前,我已使用可达性查询来检测 wifi 是否可用。问题是,如果进行该查询时,wifi 已启用但未连接到网络,则表明无法通过 wifi 访问互联网,但这并不表明该设置是否在设置应用程序中被禁用。这意味着,如果用户开始跑步并在跑步中建立连接,他们将从 wifi 而不是 GPS 或手机网络获得位置信号。因此,这些数据点的精度可能 > 10 米,所以我想跳过该点。问题是,在 wifi 上,他们会有一个很大的空白期,其中没有记录他们的信号。

那么如何检查wifi是否可用enabled但断开连接?

我已经阅读了我能找到的所有其他可达性讨论,但这似乎是一个差距,许多回复错误地表明可达性解决了这个问题。

...而且我不会requirewifi - 只需提醒他们它已启用,因此在锻炼过程中的某个时刻,他们的位置数据可能会丢失(由于不准确)。


自从你问起以来已经有一段时间了,但我刚刚遇到这个。

如果你想遵守苹果的规则,似乎没有什么办法可以做到。 sysctl 和 ioctl 不起作用,因为没有标志可以显示 WiFi 是否已启用。例如,如果 WiFi 被禁用或 WiFi 已启用但未连接,“UP”和“RUNNING”的标志将相同。

苹果自己的 WiFi 框架使用 mach 直接与内核通信,我怀疑苹果是否会允许在 AppStore 中使用此类代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测wifi是否启用(无论是否连接) 的相关文章

随机推荐