gpt4 book ai didi

android - 确保 http 连接通过 wifi

转载 作者:太空狗 更新时间:2023-10-29 15:13:31 24 4
gpt4 key购买 nike

我在应用程序上有一个小服务,可以在白天收集数据,并将数据保存到 SD 卡中。前提是数据会很大,因此应用在任何情况下都不应上传该数据超过用户的数据计划。

有些情况下 wifi“存在”但无法使用,手机会尽可能地路由网络请求,如果可以的话使用数据计划连接。

有没有一种方法,无论多么肮脏,都可以确保请求将仅通过 wifi 连接,否则将失败?

编辑:

通过阅读我的问题,我发现我没有详细解释发生了什么。我正在从环境中收集数据(某种形式的日志记录),这些数据会累积在 SD 卡上。当用户在附近或在家(或任何其他启用 WiFi 的地方)时,软件应检测到该情况并通过 http POST 请求使 SD 卡内容出队。文件大小为 1MB 或更大,因此即使我检测到 Wifi 的存在,它也可能在传输过程中发生变化。或者更糟糕的是,Wifi 可以打开,但无法路由,因此电话通过您的数据计划路由连接,并破坏您当月的预算。

最佳答案

你可以通过两件事来实现这一点:

1- 在上传之前,检查当前手机是否通过 Wi-Fi 连接,这里是一个示例函数

 public static boolean isConnectedToWiFi(Context context) {
NetworkInfo activeNetwork = getConnectivityManager(context)
.getActiveNetworkInfo();
if (activeNetwork != null) {
return activeNetwork.isConnected()
&& activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
}
return false;
}

2- 监听连接变化 broadcase android.net.conn.CONNECTIVITY_CHANGE 以监控连接何时发生变化,例如切换到 3G

关于android - 确保 http 连接通过 wifi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792319/

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