J'essaie de coupler un périphérique directement à un autre périphérique à l'aide de la propre interface Wi-Fi d'Android.Problèmes de connexion directe Wi-Fi
Toutefois, j'ai des problèmes d'acceptation de l'invitation de groupe entrant provenant d'un périphérique similaire.
À partir du client, j'ai réussi à obtenir cette erreur:
09-16 13:42:07.547: E/WifiP2pService(511): Unhandled message { what=147487 when=-1ms obj=network: null
09-16 13:42:07.547: E/WifiP2pService(511): isGO: false
09-16 13:42:07.547: E/WifiP2pService(511): GO: Device:
09-16 13:42:07.547: E/WifiP2pService(511): deviceAddress: *CENSORED*
09-16 13:42:07.547: E/WifiP2pService(511): primary type: null
09-16 13:42:07.547: E/WifiP2pService(511): secondary type: null
09-16 13:42:07.547: E/WifiP2pService(511): wps: 0
09-16 13:42:07.547: E/WifiP2pService(511): grpcapab: 0
09-16 13:42:07.547: E/WifiP2pService(511): devcapab: 0
09-16 13:42:07.547: E/WifiP2pService(511): status: 4
09-16 13:42:07.547: E/WifiP2pService(511): wfdInfo: null
09-16 13:42:07.547: E/WifiP2pService(511): Client: Device:
09-16 13:42:07.547: E/WifiP2pService(511): deviceAddress: *CENSORED*
09-16 13:42:07.547: E/WifiP2pService(511): primary type: null
09-16 13:42:07.547: E/WifiP2pService(511): secondary type: null
09-16 13:42:07.547: E/WifiP2pService(511): wps: 0
09-16 13:42:07.547: E/WifiP2pService(511): grpcapab: 0
09-16 13:42:07.547: E/WifiP2pService(511): devcapab: 0
09-16 13:42:07.547: E/WifiP2pService(511): status: 4
09-16 13:42:07.547: E/WifiP2pService(511): wfdInfo: null
09-16 13:42:07.547: E/WifiP2pService(511): interface: null
09-16 13:42:07.547: E/WifiP2pService(511): networkId: -2 }
Le GO (propriétaire du groupe) connecte en utilisant le code suivant:
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = device.deviceAddress;
config.groupOwnerIntent = 15;
config.wps.setup = WpsInfo.PBC;
mManager.connect(mChannel, config, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
new FetchDeviceInfo().execute(device);
}
@Override
public void onFailure(int reason) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Failure to connect: " + reason, Toast.LENGTH_SHORT).show();
}
});
Et l'exécution AsyncTask est juste pour aller chercher l'adresse IP du client.
J'ai eu un problème similaire, même lors de la connexion à travers la connexion Wi-Fi page Paramètres directs. Cela peut être un bug dans l'implémentation de WiFi Direct. –