0

使用ConnectivityManager,我可以检查用户是否连接到 WiFi。如果是,我的应用程序开始下载。将数据写入本地存储后,我再次检查用户是否连接到 WiFi。如果没有,我停止下载。

现在,我想知道的是..我如何确保HttpURLConnection通过 WiFi 制作?

另一个特点是用户可以自由下载。用户允许应用程序通过 WiFi 或网络下载。

假设用户打开了 WiFi 的场景。该应用程序会检查 WiFi 是否可用并开始下载。之后,用户关闭 WiFi 或移出信号范围。那么连接会发生什么?它是否切换到使用网络?

另外,如何确保HttpURLConnection是通过网络制作的?

总而言之,我只需要避免用户最终在下载时意外花费大量资金的糟糕情况。这不是一个非常关键的应用程序,我这样做只是为了练习

4

1 回答 1

1
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo info = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

更多信息可以从中提取NetworkInfo。只需检查此参考

您将需要此权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

补充:我不确定这是 Android 默认设置还是设备配置,但​​只要建立了 wifi 连接,3G 就会自动禁用。我在一些设备上进行了测试,它们都有这种行为。

于 2013-08-16T15:34:55.863 回答