如果用户当前使用 wifi 连接,我想下载一些数据,但如果用户使用蜂窝数据(例如 3G)连接,我不想做任何事情来防止用户产生数据费用。
为此,我需要知道当前的连接类型。是否有任何 API 可以为我提供这些信息?(这是本机应用程序。)
谢谢。
如果用户当前使用 wifi 连接,我想下载一些数据,但如果用户使用蜂窝数据(例如 3G)连接,我不想做任何事情来防止用户产生数据费用。
为此,我需要知道当前的连接类型。是否有任何 API 可以为我提供这些信息?(这是本机应用程序。)
谢谢。
也许您会发现这篇文章和示例代码很有用。
验证 WLAN 状态的另一个选项是读取以下注册表值:
HKEY_LOCAL_MACHINE\System\State\Hardware\Wifi
至少根据这篇文章(我猜你可以很容易地适应本机代码)。如果 WLAN 已开启,我想您可以放心地让用户下载数据。
编辑:获得的值似乎对应于以下 WLAN 状态:
0 - 关机
1 或 5 - 准备好
11 或 15 - 连接
19 或 23 - 已连接
我不能 100% 确定当 WLAN 连接时,是否不会使用任何其他数据服务,例如 3G。也许这取决于连接设置。但是,当我使用我的设备时,我注意到如果连接了 WLAN,它会“接受命令”。如果有可能,您应该使用不同的设备验证这一点,也许使用不同的操作员。
祝你好运。