android - 在Android上同时启用wifi和3G接口(interface)

标签 android network-programming

是否可以同时启动和运行 3G 和 Wifi 连接?我想通过两个接口(interface)同时传输。

但是,我注意到当 Wifi 可用时,3G 会下降。实际上,路由表似乎是在接口(interface)打开/关闭时更新的。

  1. 路由表 UMTS 开启/Wifi 开启

    a.b.c.1 dev rmnet0 a.b.c.0/24 dev rmnet0 src a.b.c.2 默认通过 a.b.c.1 dev rmnet0

  2. 路由表 Wifi 开启/UMTS 开启

    192.168.1.0/24 dev eth0 src 192.168.1.147 默认通过 192.168.1.1 dev eth0

  3. 打开 wifi 我跑了:

    ip链接设置rmnet0

    IP路由

    192.168.1.0/24 dev eth0 src 192.168.1.147 a.b.c.0/24 dev rmnet0 src a.b.c.2 默认通过 192.168.1.1 dev eth0

当我看到它时,我认为我已经成功地启动并运行了这两个设备。然而,这种情况并非如此。当我 ping 公共(public)互联网地址 (a.b.c.3) 时,在情况 1) 和 2) 中一切顺利。情况 3) 我得不到答案。

Android 到底哪里设置了一次只能使用一台设备?我怎样才能让两个接口(interface)都启动并可用,就像在普通的 Linux 机器上一样?

P.S.:我试过[1]中的解决方案,在wifi打开的情况下打开数据连接,但是不行。

[1] How to enable data connection on Android 2.3

[2] How to block calls in android --> 使用 ITelephony 获取 telephonyService.enableDataConnectivity();但我得到一个异常(exception)。

最佳答案

这是不可能的……除非您愿意竭尽全力让它发挥作用。您实际上是在要求您的设备成为路由器。

要做到这一点,您需要找到一个程序(抱歉,目前记不起任何名称),它可以在普通的 Linux 发行版上完成此操作。然后重新编译它以适应 Android 操作系统并安装到 native 系统中。

这个解释对你来说可能更有意义一点。如果您转到 ADB shell 并运行 netcfg(或 ifconfig 来详细说明),您将看到设备网络选项。您可以运行 ifconfig 命令来设置设备或更改其状态 - 但我不认为您不能让多个设备同时将数据路由到手机或从手机路由数据。

这将是我最好的猜测...

关于android - 在Android上同时启用wifi和3G接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9266898/

相关文章:

c# - 查找给定 ID 的资源 - 作为变量

android - 如何为 Deep Link Android App 触发调试启动附加调试器?

c - 字节顺序是否反转数组?

c# - 我如何在 pcap.net 中获取所选设备的 MAC 地址

c - pcap_dispatch/将参数传递给回调函数

java - 从菜单项打开 Activity

android - 如何在 Android 上使用寻址和验证 PostCodeAnywhere?

java - 服务被销毁时如何创建通知

客户端端口号

c - 如何让 getaddrinfo 只返回一个结果?