studio programacion herramientas fundamentos con avanzado aplicaciones android network-programming

programacion - manual de android en pdf



Habilitar simultáneamente la interfaz wifi y 3G en Android (1)

¿Es posible tener las conexiones 3G y Wifi en funcionamiento? Quiero transmitir al mismo tiempo a través de ambas interfaces.

Sin embargo, he notado que cuando Wi-Fi está funcionando, 3G está bajando. En realidad, parece que la tabla de enrutamiento se actualiza con el encendido / apagado de las interfaces.

1) Tabla de rutas UMTS en / Wifi en

a.b.c.1 dev rmnet0 a.b.c.0/24 dev rmnet0 src a.b.c.2 default via a.b.c.1 dev rmnet0

2) Tabla de ruta Wifi on / UMTS en

192.168.1.0/24 dev eth0 src 192.168.1.147 default via 192.168.1.1 dev eth0

3) Con el wifi encendido, he corrido:

# ip link set rmnet0 up # ip route 192.168.1.0/24 dev eth0 src 192.168.1.147 a.b.c.0/24 dev rmnet0 src a.b.c.2 default via 192.168.1.1 dev eth0

Cuando lo vi, pensé que había logrado poner ambos dispositivos en funcionamiento. Sin embargo, éste no es el caso. Cuando hago ping a una dirección de Internet pública (abc3), en el caso 1) y 2) todo va bien. En el caso 3) no recibo respuesta.

¿Dónde demonios establece Android que solo un dispositivo puede estar disponible a la vez? ¿Cómo puedo hacer que ambas interfaces estén disponibles y disponibles, como en un linux box normal?

PD: He intentado la solución en [1] para habilitar la conexión de datos cuando wifi está encendido, y de ninguna manera.

[1] Cómo habilitar la conexión de datos en Android 2.3

[2] Cómo bloquear llamadas en Android -> usando ITelephony para obtener telefoníaServicio.enableDataConnectivity (); pero obtengo una excepción


Esto no va a ser posible ... a menos que lo hagamos para hacer que funcione. Básicamente, estás pidiendo que tu dispositivo se convierta en un enrutador.

Para hacer esto, necesitará encontrar un programa (lo siento, no recuerdo ningún nombre en este momento) que logre esto en una distribución normal de Linux. A continuación, vuelva a compilarlo para adaptarlo al sistema operativo Android e instalarlo en el sistema nativo.

Esta explicación puede tener un poco más de sentido para ti. Si va a su shell de ADB y ejecuta netcfg (o ifconfig para verificar esto), verá las opciones de red de los dispositivos. Puede ejecutar un comando ifconfig para configurar el dispositivo o cambiar su estado, pero no puede permitir que varios dispositivos encaminen datos hacia y desde el teléfono al mismo tiempo, no creo.

Esta sería mi mejor suposición ...