gpt4 book ai didi

java - 通过 WiFi 下载数据时,我如何知道我已使用 Wifi 连接

转载 作者:行者123 更新时间:2023-12-01 14:14:03 25 4
gpt4 key购买 nike

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

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

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

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

此外,如何确保 HttpURLConnection 是通过网络进行的?

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

最佳答案

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

更多信息可以从NetworkInfo中提取。只需检查this reference .

您需要此权限:

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

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

关于java - 通过 WiFi 下载数据时,我如何知道我已使用 Wifi 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com