@Override public void onCreate() { super.onCreate(); cNeighborsDataSource = new CNeighborsDataSource(this); cNeighborsDataSource.open(); startRequestingLocationUpdates(); /** NEW * */ intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION); manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); channel = manager.initialize( this, getMainLooper(), new WifiP2pManager.ChannelListener() { @Override public void onChannelDisconnected() { quickLog("Channel disconnected"); } }); startOrRestartRegistrationAndDiscovery(); wifiDirectBroadcastReceiver = new WifiDirectBroadcastReceiverMode2(manager, channel); registerReceiver(wifiDirectBroadcastReceiver, intentFilter); /** NEW * */ }