如何以编程方式同时使用 WiFi 和 3G 网络 [关闭]

Posted

技术标签:

【中文标题】如何以编程方式同时使用 WiFi 和 3G 网络 [关闭]【英文标题】:How to use WiFi and 3G networks at the same time programmatically [closed] 【发布时间】:2014-10-03 03:23:29 【问题描述】:

我正在开发一个需要同时使用两个网络的应用程序 - 通过 WiFi 应用程序与一些外部设备连接并控制它,使用 3G 网络需要为设备下载固件。但问题是当您连接到 WiFi 时,系统会自动断开 3G 网络。 WiFi似乎比3G网络优先级高,但我需要同时使用它们,在这种情况下对我来说这是系统的错误行为

我看到了几个类似的问题,但他们没有解决方案。难道安卓4.03以上的版本都没有办法让开发者同时控制这两个网络吗?

我们如何解决这个问题?

【问题讨论】:

在“L”开发者预览版之前,android SDK 中没有任何内容支持此功能(我也不能 100% 确定“L”中的内容对您有帮助)。请注意,您所描述的行为应该仅在您使用连接到接入点的 WiFi 时出现——例如,我不希望 WiFiDirect 表现出这种行为。 离题。请在 www.android.stackexchange.com 上询问! @CommonsWare,感谢您的建议。应该由我的应用程序控制的外部设备有自己的 Wifi 网络,但据我所知不支持 WiFiDirect 【参考方案1】:

以线性方式进行。关闭wifi并下载固件。随后重新连接到设备(重新启用 wifi)并传输本地存储的固件。

【讨论】:

是的 :) 现在该应用程序具有与上述相同的工作流程。但用户需要手动切换网络(关闭 Wifi 以启用 3G 移动网络,并且用户需要确保“使用 3G”的设置标志被激活)。用户喜欢 UI 是用户友好的,所有应该看起来很容易与最少的点击/点击/切换。 当前工作流程: 1) 打开wifi连接设备“A”(我们需要读取设备型号和固件当前版本); 2) 关闭 Wifi - 切换到 3G - 向服务器请求新固件版本(如果最新 - 下载它); 3) 打开 Wifi - 再次连接到设备并传输刚刚下载的文件; 这个场景对于很多用户来说是非常困难的。如果两个网络同时可用,则用户无需在网络之间切换。

以上是关于如何以编程方式同时使用 WiFi 和 3G 网络 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式通过 ipad 检测并连接到 3G 网络

Wifi和3G同时使用

如何在 Android 上以编程方式关闭 3G/数据?

以编程方式选择 Internet 连接(WiFi、移动宽带……)

以编程方式获取网关和子网掩码详细信息

wifi和3G能在安卓上同时工作吗?