0

如果用户当前使用 wifi 连接,我想下​​载一些数据,但如果用户使用蜂窝数据(例如 3G)连接,我不想做任何事情来防止用户产生数据费用。

为此,我需要知道当前的连接类型。是否有任何 API 可以为我提供这些信息?(这是本机应用程序。)

谢谢。

4

1 回答 1

3

也许您会发现这篇文章和示例代码很有用。

验证 WLAN 状态的另一个选项是读取以下注册表值:

HKEY_LOCAL_MACHINE\System\State\Hardware\Wifi

至少根据这篇文章(我猜你可以很容易地适应本机代码)。如果 WLAN 已开启,我想您可以放心地让用户下载数据。

编辑:获得的值似乎对应于以下 WLAN 状态:

0 - 关机

1 或 5 - 准备好

11 或 15 - 连接

19 或 23 - 已连接

我不能 100% 确定当 WLAN 连接时,是否不会使用任何其他数据服务,例如 3G。也许这取决于连接设置。但是,当我使用我的设备时,我注意到如果连接了 WLAN,它会“接受命令”。如果有可能,您应该使用不同的设备验证这一点,也许使用不同的操作员。

祝你好运。

于 2009-08-13T15:10:44.637 回答