¿Cómo crear un GO autónomo para Wifi Direct en Android con ssid dedicado y contraseña?

Estoy tratando de crear una red WI-FI Direct con decir 3 Tablet PCs. Quiero ejecutar WiFi-Direct como servicio de fondo, con un dispositivo configurado como GO autónomo. ¿Podría alguien por favor decirme cómo se puede hacer esto en Android? También alguien me dice por favor cómo podemos fijar el SSID y la frase de paso dedicados de modo que cada vez que se agreguen los nuevos dispositivos a esta red, pueden buscar un ssid y un passphrase específicos para el establecimiento de la conexión durante la iniciación de la aplicación?

Estoy utilizando Android API de nivel 18 para mi desarrollo …

Gracias por adelantado …

Así es como se crea un propietario de grupo autónomo, es decir, usando el siguiente código, puede establecer deliberadamente un dispositivo en red Wifi directa como propietario de un grupo

manager.createGroup(channel,new WifiP2pManager.ActionListener() { @Override public void onSuccess() { Toast.makeText(WiFiDirectActivity.this, "Group Created",Toast.LENGTH_SHORT).show(); } @Override public void onFailure(int reason) {} }); 

Puede utilizar este código en cualquier evento, como clic de botón, etc.

Para crear un grupo autónomo, sólo puede invocar el método createGroup() desde su gestor. Con el fin de establecer ssid y passPhrase debe invocar los métodos ocultos de WifiP2pGroup clase setPassphrase y setNetworkName .

Para lograrlo, se utiliza la reflexión java. Intente el siguiente ejemplo.

Supongamos que WifiP2pGroup agrupa su objeto actual.

Método

 setPassPhraseMethod=group.getClass().getMethod("setPassphrase", new Class[ {String.class}); 

Y ahora invoca el método:

 setPassPhraseMethod.invoke(group, "yourNewPassPrhase"); 

Espero que sea útil.

Bluemoon10 tenía casi razón. No puedo comentar todavía porque necesito 50 reputación: /. El config.groupOwnerIntent oscila entre 1-15, siendo 15 la intención más alta de ser propietario del grupo. Si 2 dispositivos intentan conectarse con ambas intenciones GO == 15, la llamada de conexión fallará. Si hay un vínculo de intención GO inferior a 15, los dispositivos coinciden en un bit de desempate y tendrán éxito. Así que si quieres que un dispositivo sea el propietario del grupo, tienes que asegurarte de que es el único que trata de serlo. Puede hacerlo con Service Discovery, es decir, si hay un servicio en ejecución, establezca su intención GO en 15 en el dispositivo con el servicio y 1 en el dispositivo de conexión. Sólo un dispositivo necesita llamar a conectar para iniciar la conexión.

Enlace al tutorial de Service Discovery: http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html

Normalmente, el propietario del grupo se decide por el protocolo WiFi Direct. Sin embargo, usted puede forzar su mano, utilizando la clase de configuración.

 final WifiP2pConfig config = new WifiP2pConfig(); config.deviceAddress=myDeviceAddr; config.wps.setup = WpsInfo.PBC; config.groupOwnerIntent =15; 

En este caso, creo que estoy en lo cierto al decir que 15 significa menos probable que se convierta en GO, se establece en cero, si desea que el dispositivo sea el GO. También esto podría ser donde se puede establecer pin etc echar un vistazo a WpsInfo. Esta información de configuración a continuación, pasó a su llamada de conexión.

 mManager.connect(mChannel, config, new WifiP2pManager.ActionListener(). 

Espero que esto ayude.

  • Android Lollipop preestablece datos móviles cuando Wi-Fi no tiene acceso a Internet?
  • Detenga la conexión de Android a ciertas redes wifi
  • Cómo obtener mi hotspot wifi ssid en mi sistema android actual
  • WifiDirectActivity Alteración de la muestra: Transfiere un ArrayList <String> p2p
  • ADB, Wifi y Eclipse: ¿cómo puedo configurar?
  • Conectarse a la red wifi en android, devolver si la contraseña es incorrecta
  • Android: 3G a WIFI cambiar mientras que en el medio en la app = pérdida de conectividad de red
  • gama de distancias en las que trabaja directamente Wi-Fi
  • ¿Cómo puedo llamar a la pantalla de configuración Wi-Fi de mi aplicación mediante Android
  • Conecta el iPhone a Android Wifi Direct soft AP
  • ¿Cómo puedo ver si Wi-Fi está conectado en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.