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