Sac*_*pan 6 android network-programming wifi
在android中是否可以通过WiFi路由所有传入的数据流量,并通过移动网络传输所有传出流量.
在stackoverflow上找到答案 如何在Android中为OBD2设备同时使用Wifi和移动数据.但它确实只为一个主机路由数据.
还有一个应用程序SuperDownload使用wifi和移动网络来实现更快的下载速度.我正在尝试做这样的事情.
在Android WiFi和移动网络不能同时工作.是否可以通过生根设备使其工作?(SuperDownload需要root).
你要做的事并不容易。
首先,您必须保留两个网络接口,这是可能的,但这是一个黑客行为,因为 Android 不支持它。为此,您必须打开电源
connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "feature");
Run Code Online (Sandbox Code Playgroud)
功能名称与您的硬件相关,应该是enableHIPRI。问题是,在您打开接口后,它会在一段时间后关闭,因此您必须每 20-30 秒执行一次 http 请求才能保持它。这样界面就会保持打开状态。
在路由中,您应该添加静态路由
connectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, ipAddressInt);
Run Code Online (Sandbox Code Playgroud)
其中ipAddressInt是您要连接 3G 的地址。通常路由是通过 WiFi 发送的,因此对于您的 GET(通过 WiFi 下载)没有问题,但您应该添加一条上传路由。
现在有两个问题,
当然,您应该实现另一个线程来保持接口的活动。
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |