Android 是否可以通过 WiFi 路由所有传入数据流量,并通过移动网络路由所有传出流量。
在stackoverflow上找到答案 How Wifi and Mobile Data both work simultaneously in android for OBD2 device .但它确实只为一台主机路由数据。
还有一个应用SuperDownload它使用 wifi 和移动网络来实现更快的下载速度。我正在尝试做这样的事情。
在 Android 中,WiFi 和移动网络不能同时工作。是否可以通过生根设备使其工作? (SuperDownload 需要 root)。
最佳答案
你要做的事情并不容易。
首先你必须保持两个网络接口(interface),这是可能的,但这是一个 hack,因为 Android 不支持它。为此,您必须打开
connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "feature");
功能名称与您的硬件相关,应该是enableHIPRI。问题是在你打开界面后一段时间后它会关闭,因此你必须每 20-30 秒执行一次 http 请求以保持它。这样界面将保持打开状态。
路由需要添加静态路由
connectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, ipAddressInt);
其中 ipAddressInt
是您要在 3G 上连接的地址。通常路由是通过 WiFi 发送的,所以对于您的 GET(在 WiFi 上下载)没有问题,但是您应该添加一个用于上传的路由。
现在有两个问题,
- 首先是这样在 3G 上 DNS 解析消失了,你可以在 IP 上工作,但你必须有一个静态 IP 的服务器,
- 其次,我不确定它是否适用于特定端口(这是我目前唯一的想法...)。
当然你应该实现另一个保持接口(interface) Activity 的线程。
关于Android 通过 WiFi 路由下行数据,通过移动网络路由上行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31397904/