¿Cómo puedo enviar un archivo de forma inalámbrica sin bluetooth o una red Wi-Fi en ICS?

Sé que una de las nuevas funciones es WiFi-direct para ICS (indicado en la parte inferior de la página en el enlace). ¿Hay alguna forma de aprovechar esta nueva función para transmitir archivos de un dispositivo ICS a otro?

Esto sería útil porque las velocidades de WiFi serían mayores que las de bluetooth, y no necesitarías estar conectado a una red WiFi o crear un punto de acceso.

Aparentemente, el Samsung Galaxy S II tiene esta función incorporada antes de ICS (¡vaya Samsung!). ¿Este mismo método está disponible en ICS? ¿O hay una aplicación para eso?

EDITAR: Debido a que el galaxy nexus está hecho por Samsung, y es el único dispositivo con ICS en este momento, no estoy seguro de si este intercambio de "WiFi Direct" (según el enlace y la respuesta de Ryan a continuación) está integrado en ICS vainilla ( Después de todo, Samsung tenía Wi-Fi Direct para compartir antes de ICS).

Como tal, agregué una etiqueta Vanilla, así que pregunto, ¿está en el código fuente Vanilla para permitir que los usuarios compartan archivos usando WiFi Direct? Si no, ¿hay una aplicación para ello en el mercado? Quiero saber cómo hacer esto en todos los teléfonos ICS, no necesariamente solo en el galaxy nexus.

Respuestas (4)

Android 4.0 introduce WiFi Direct en el núcleo de Android. básicamente crea una conexión ad hoc entre un dispositivo y otro usando WiFi creando lo que supongo que podría considerarse un punto de acceso. No necesita un punto de acceso wifi para usar WiFi Direct y, de hecho, si está conectado a wifi cuando enciende WiFi direct, lo desconectará. No puede estar conectado a un punto de acceso y habilitar wifi directo.

El dispositivo host actúa como un punto de acceso para que otros dispositivos se conecten, luego, a través de otras piezas de software, los archivos y otros datos se pueden compartir o transmitir a los dispositivos del cliente.

Para usar Wifi Direct, settings -> wireless & networksdebe habilitarlo. Entonces deberías tener una opción para "compartir" a través de wifi. Esto funciona de manera muy similar a compartir por bluetooth, donde el otro dispositivo tiene que estar "listo para aceptar" sus archivos. Solo podrá hacer wifi directo con dispositivos que tengan soporte explícito para wifi directo. Android 4.0 es la primera versión del sistema operativo que tiene soporte incorporado para wifi directo. El Samsung Galaxy S II también tiene soporte para wifi directo. Esta fue una característica adicional que Samsung puso en su versión TouchWiz de Android. Si bien la configuración es un poco diferente a la de Android 4.0, básicamente funcionan de la misma manera.

Hay otros dispositivos, como algunos televisores de Sony, que también tienen soporte wifi directo.

Wifi Direct no es específico del hardware, es parte del sistema operativo. Si el dispositivo es compatible con wifi, entonces es compatible con esto. Es parte del CORE OS en Android 4.0. Cualquier dispositivo que tenga Wifi y esté ejecutando ICS, esto funcionará. Algunos dispositivos Samsung (creo que solo el Galaxy S 2) tienen soporte para wifi directo aunque no estén ejecutando ICS. Esto se debe a que Samsung agregó soporte para él en su versión de Android.

Si bien el Galaxy Nexus es fabricado por Samsung, no ejecuta la versión modificada de Android de Samsung. Ejecuta una versión completamente "Google Experience" de Android. El WiFi directo que existe en el Samsung Galaxy S II es diferente al integrado en Android 4.0.

Aquí están los documentos SDK de Android que hablan sobre soporte.

Wi-Fi Direct permite que los dispositivos Android 4.0 (nivel de API 14) o posterior con el hardware adecuado se conecten directamente entre sí a través de Wi-Fi sin un punto de acceso intermedio. Con estas API, puede descubrir y conectarse a otros dispositivos cuando cada dispositivo es compatible con Wi-Fi Direct, luego comunicarse a través de una conexión rápida a través de distancias mucho más largas que una conexión Bluetooth. Esto es útil para aplicaciones que comparten datos entre usuarios, como un juego multijugador o una aplicación para compartir fotos.

Aquí hay una captura de pantalla (tomada de este video ) que muestra la configuración de Wi-Fi Direct disponible en un Nook Color con CM9. El video está en la ubicación donde muestra el funcionamiento directo de wifi.rincón color/cm9/wifi directo

otra oportunidad

Aquí hay 2 capturas de pantalla de mi tableta viewsonic g que está ejecutando ICS (no es un CM9 Kang, es Android AOSP vainilla). El primero muestra la configuración, el segundo muestra que lo encendí.ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Para mostrar que WiFi Direct es en realidad parte del núcleo de Android y no solo CM9, aquí está el código fuente para la configuración de WiFi Direct . Este es el espejo github del AOSP. También puede compararlo con la fuente CM9 .

Solo un aviso: edité la pregunta para preguntar directamente cómo transferir archivos con Wi-Fi Direct.
Ajusté mi respuesta para explicar cómo usar wifi directo.
No puedo encontrar nada como "Wifi Direct" en la configuración -> redes inalámbricas.
@offby1 ¿estás usando un emulador? Miré en el nexo de la galaxia de mi amigo y el escenario estaba allí. Ahora que lo pienso ahora, sin embargo... es un dispositivo Samsung.
@RyanConrad, ¿puede proporcionar una fuente que muestre que esto funcionará en todos los teléfonos ICS? He actualizado mi pregunta.
@John modifiqué mi respuesta para cubrir tu último comentario.
Es parte de ICS y no solo de Gnex...
Agregué capturas de pantalla de wifi directo trabajando en una gtablet viewsonic que ejecuta ICS.
@RyanConrad, si bien la información que agregó está relacionada con WiFi Direct, todavía no responde completamente la pregunta... tener WiFi Direct en la API no significa necesariamente que esté disponible como una característica de la configuración del sistema operativo, y aunque está presente en CM9, CyanogenMod sigue siendo una ROM, y es posible que se haya incorporado la característica... a menos que pueda demostrar que CM9 usó el código fuente de configuración de Android Vanilla. Además, gtablet también ejecuta una ROM, creo que su sistema operativo nativo era 2.2.
mi tableta no ejecuta CM9, ejecuta Android VANILLA AOSP. Pero aquí está el código de cianógeno y aquí está el código de Android . Ellos son iguales.
@RyanConrad, ¿tiene una referencia para decir que WiFi Direct no depende del hardware? El Nexus S que ejecuta Vanilla ICS no tiene esa función habilitada. El Motorola Xoom en Vanilla ICS tampoco tiene esa función. El código podría estar allí, pero estoy bastante seguro de que hay algún tipo de dependencia del hardware, o todos los dispositivos ICS lo tendrían.
@RyanConrad gracias, eso responde a mi pregunta :) También me interesaría saber la respuesta al comentario de davidbb, pero no es mi pregunta.
Respondiendo a la pregunta anterior: no, no estoy ejecutando un emulador; Tengo un Nexus S con Android 4.0.3 estándar y no hay ningún elemento de menú "Wi-Fi Direct" en ninguna parte.
Tengo un Nexus S con CM9. yo tampoco lo tengo Creo que leí de alguna parte que, después de todo, depende del hardware. (Sin embargo, la mayoría de los teléfonos más nuevos tienen esto)
Sí, depende del hardware, hasta cierto punto. Los dispositivos más recientes tienen chips wifi que lo admiten, en mi publicación inicialmente digo que no lo es, pero luego cito los documentos que dicen que sí.
¿Puede dar más detalles ? Entonces debería tener una opción para "compartir" a través de wifi. ? ¿Dónde debería estar esta opción?

Hay una nueva aplicación en el mercado de Android llamada FileBeam que le permite transferir archivos de DropBox de Android a Android. Quizás eso también pueda ayudarte ;) https://play.google.com/store/apps/details?id=com.filebeamapp.android

El enlace finalmente está muerto. Se requiere una actualización aquí.

Hay una referencia a la función en el código fuente, pero con un nombre diferente: WifiP2P. Acabo de hacer una búsqueda en GrepCode y encontré el paquete android.net.wiki.p2p .

Wifi Direct en sí se encuentra en com.example.android.wifidirect , por lo que no creo que esté necesariamente incluido en los sistemas operativos estándar, este es solo un ejemplo de cómo usar la API Wifi P2P. Alguien con más experiencia en la fuente de Android puede saberlo mejor.

está incluido en Android Vanilla. Tengo ICS instalado en mi gtablet viewsonic y lo probé con un amigo que tiene galaxy nexus. El me gusta de wifidirect que publicaste es el código de ejemplo sobre cómo otras aplicaciones pueden integrarse con el protocolo para iniciar las intenciones que forman parte del sistema operativo.

Para los usuarios de Samsung G-Note (posiblemente también usuarios de SII y SIII), vaya a Configuración, luego, en la sección Conexiones inalámbricas y redes, seleccione Más... y verá la opción allí.

La pregunta es sobre ICS de stock, y no se trata de si puede activar WiFi-Direct, sino de si puede usarlo para compartir archivos.