使用 ConnectivityManager
,我可以检查用户是否连接到WiFi . 如果是,我的应用程序开始下载 . 将数据写入本地存储后,我再次检查用户是否连接到WiFi . 如果没有,我停止下载 .
现在,我想知道的是.. how do I ensure that the HttpURLConnection made is via WiFi ?
另一个特征是用户对下载的开放态度 . 用户允许应用程序通过WiFi或网络下载 .
假设用户已打开WiFi的场景 . 该应用程序检查WiFi是否可用并开始下载 . 之后,用户关闭WiFi或移出信号范围 . What happens to the connection then? Does it switch over to using network?
另外, how do I ensure that the HttpURLConnection is made via network?
总而言之,我只需要避免一个令人讨厌的情况,即用户不得不在下载时花费大量资金 . 这不是一个非常关键的应用程序,我这样做只是为了练习
1 回答
可以从
NetworkInfo
中提取更多信息 . 只需检查this reference .您需要此权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
补充:我不确定它是Android默认设备还是设备配置,但无论何时 Build WiFi连接,3G都会自动禁用 . 我在一些设备上测试过,所有这些都有这种行为 .