¿Cómo hacer un groupOwner de dispositivo en WifiDirect?
He desarrollado una aplicación directa de WiFi y he utilizado este código para diferenciar entre un groupOwner y otro dispositivo. Pero groupOwner siempre se hace al azar. Quiero asegurarme de que el dispositivo de conexión actúa como un propietario de grupo cada vez que se realiza una conexión. Mi código :
if (info.groupFormed && info.isGroupOwner) { // GroupOwner } else if (info.groupFormed) { }
- ¿Es posible conectar dos o más grupos WiFi Direct?
- WifiP2pManager devolver estado BUSY en CreateGroup
- ¿Cómo recuperar la dirección MAC directa de WiFi?
- Android renombra el nombre del dispositivo para wifi-direct
- Android y WiFi Direct - Problemas de conexión
- WiFiDirect discoverServices sigue fallando con error 3 (NO_SERVICE_REQUESTS)
- ¿Cómo obtener la dirección IP del dispositivo peer en Android para WiFi-Direct (WiFi-P2P)?
- Android Wi-Fi Direct: El objeto WifiP2pInfo transmitido a la devolución de llamada onConnectionInfoAvailable tiene propiedad null groupOwnerAddress
- Descubrimiento del servicio directo WiFi de Android y duración de la batería
- Paquetes UDP (vía WiFi Direct) nunca llegan
- ¿Cómo puedo compartir la pantalla con otra base de dispositivo en conexión WiFi directa
- Androide a androide flujo de vídeo en vivo a través de Wifi directo (P2P)
- Diferencia entre WiFi-Direct Api y Alljoyn framework
Tienes que usar el objeto WifiP2pConfig
objeto WifiP2pConfig
, que pasas a la llamada connect (). Por ejemplo:
config.groupOwnerIntent = 15;
El valor oscila entre 0-15, más alto el valor más alto la posibilidad de hacer un groupOwner.
Si su objetivo es hacer que el dispositivo, que es la publicidad de un servicio, también el propietario del grupo, a continuación, en su instancia createGroup
llamada createGroup
en la devolución de llamada addLocalService
de addLocalService
WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); WifiP2pManager.Channel channel = serverManager.initialize(this, getMainLooper(), null); HashMap<String, String> record = new HashMap<String, String>(); WifiP2pServiceInfo serviceInfo = WifiP2pDnsSdServiceInfo.newInstance("_hello", "_world._tcp", record); //remove legacy group manager.removeGroup(channel, null); //advertise your service manager.addLocalService(channel, serviceInfo, new WifiP2pManager.ActionListener() { @Override public void onFailure(int reason) { } @Override public void onSuccess() { //create group, making this device the owner of the group manager.createGroup(channel, null); } });
- Cambiar la ruta del archivo de entrada de android y ios en el proyecto reactivo-nativo
- Layout_gravity no funciona dentro de LinearLayout