¿Cómo iniciar una conexión de red local programmically a través de hotspot Wi-Fi en Android?

Quiero iniciar una conexión de red local mediante el hotspot Wi-Fi incorporado en dispositivos Android. ¿Hay una manera de lograrlo? ¿Y cómo comunicarse entre dos dispositivos?

EDIT: Quiero hacerlo programmically. Entonces puedo transferir mis propios datos entre los dispositivos.

No he hecho esto antes, así que mi respuesta es todo teórica.

Creo que lo que tiene que hacer es declarar un dispositivo del servidor y iniciar su hotspot manualmente con un nombre conocido.

¿Iniciar / detener la conexión Wi-Fi / USB del código? (De acuerdo con esta pregunta, no puede iniciar hotspot programatically).

Una vez que haya configurado el hotspot, inicia la aplicación de servidor y espera las conexiones entrantes. La aplicación del servidor puede mostrarle la dirección IP o el nombre de host.

En los clientes, puede realizar una comprobación sencilla y ver si el nombre del punto de acceso está cerca y conectarse automáticamente a él si lo encuentra. Vea este enlace para conectarse a una red:

Uso de WifiManager para conectarse a una red

En cuanto a su segunda pregunta, cómo comunicarse – es necesario establecer una conexión entre los dispositivos. Para ello, necesita la dirección IP del servidor. La cosa más simple a hacer sería mostrar la dirección IP en la interfaz de usuario del servidor y luego introducirlo manualmente en los clientes y pulsar conectar. Entonces establecería una conexión al servidor en un puerto conocido y usted puede enviar mensajes entre el cliente y el servidor.

Como referencia, he encontrado NanoHttpd , que es un servidor web para Android. Utiliza ServerSocket para escuchar las conexiones entrantes.

Respuestas posibles:

Antes de ICS y dispositivos no enraizados

No hay forma de conectarse a un dispositivo a través de wifi. No hay API que hacer. Bluetooth es su mejor opción o interacción con el usuario.

Antes de ICS y dispositivos enraizados

No estoy seguro si alguien hackeó el código, pero cuando traté de hacer una conexión automática a un lugar wifi me di cuenta:

  • La API está oculta dentro del SDK.
  • El método que realiza la conexión comprueba el subproceso que lo solicita. Si no es el hilo del sistema operativo, se produce una excepción.

Uso de ICS

Con ICS hay una nueva forma de conectar dispositivos a través de Wi-Fi llamado Wi-Fi Direct . Aquí hay un enlace con algunas demos.

Esto ayudará a iniciar. Link1

Si va a desarrollar su propia aplicación para cada uno de los terminales individuales (dispositivos), entonces creo que para la programación socket hará el truco.

Sí, androide soporta la programación de socket en la misma era como la programación de java socket.

1 º google java socket programación de tutoriales y luego se puede utilizar el mismo conocimiento en android.

También recuerdo incluir el permiso de Internet de usos en el manifiesto, en realidad eso es algo que se comió mi cerebro por mucho tiempo 🙂

¿Te refieres a la comunicación entre dispositivos wifi habilitados sin ningún servidor como p2p? Si es así su wifi directo que es compatible con ICS comprobar esto http://developer.android.com/reference/android/net/wifi/p2p/package-summary.html

Antes de ICS no hay una API estándar de Android para wifi directo, aunque Galaxy S2 tiene wifi directo que utiliza API propietaria que los desarrolladores de terceros no pueden usar.

No sé programmically crear wify LAN, pero usted puede crear wify LAN manualmente, entonces usted puede hacer java tcp / udp programa como dijo brianestey

"En cuanto a su segunda pregunta, la forma de comunicarse – que necesita para establecer una conexión entre los dispositivos.Para ello, necesita la dirección IP del servidor.La cosa más simple que hacer sería mostrar la dirección IP en el servidor de la interfaz de usuario y A continuación, introduzca manualmente en los clientes y presione conectar.Esto establecería una conexión con el servidor en un puerto conocido y puede enviar mensajes entre cliente y servidor.

Para la conexión manual siga los pasos

  • Tomar ajustes / redes inalámbricas y redes / wi-fi portátil configuración de puntos de acceso desde cualquiera de los teléfonos

  • Crear un nuevo hotspot y activar el hotspot portátil wi-fi desde allí

  • Conecte todo el otro dispositivo a ese hotspot incluyendo su PC

  • Obtendrá ip de cada dispositivo programmically (includig pc, pero no sé)

  • Configuración de HTTP Proxy para redes WIFI en dispositivos Android 1.xy 2.x
  • Connectify detiene la conexión a Internet después de algún tiempo
  • Datos de enlace descendente de la ruta de Android vía WiFi y datos de enlace ascendente a través de la red móvil
  • Ruta de las solicitudes de red sólo a través de la conexión de datos móviles
  • ¿Puede Android hacer redes ad-hoc peer-to-peer?
  • Solicitar al usuario que active Wi-Fi
  • Aumento de la velocidad de análisis WiFi
  • ¿Cómo usar la conexión de datos en lugar de WIFI cuando ambos están habilitados?
  • Cómo enviar un archivo de android a la impresora wifi programatically e imprimir el archivo?
  • ¿Por qué la pila SIP nativa incluida en Android 2.3 no funciona sobre 3g?
  • Forzar Android a usar 3G cuando en el área local wifi sin acceso a la red
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.