public class MinimalWiFiDirect extends BroadcastReceiver implements PeerListListener { private WifiP2pManager manager; private Channel channel; public void init(Context context) { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION); context.registerReceiver(this, intentFilter); manager = (WifiP2pManager) context.getSystemService(Context.WIFI_P2P_SERVICE); channel = manager.initialize(context, context.getMainLooper(), null); manager.discoverPeers(channel, null); Log.i("My", "Warte auf Wi-Fi Direct Broadcasts..."); } @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) { Log.i("My", "Wi-Fi Direct Peers haben sich veraendert"); manager.requestPeers(channel, this); } } @Override public void onPeersAvailable(WifiP2pDeviceList wifiP2pDeviceList) { Collection deviceList = wifiP2pDeviceList.getDeviceList(); for (WifiP2pDevice device : deviceList) { Log.i("My", "Wi-Fi Direct Device: " + device.deviceName + ", " + device.deviceAddress); } } }