public override void OnReceive(Context context, Intent intent) { string action = intent.Action; if (WifiP2pManager.WifiP2pStateChangedAction == action) { // prüfen ob wifi aktiviert ist int state = intent.GetIntExtra(WifiP2pManager.ExtraWifiState, -1); if (state == (int)WifiP2pState.Enabled) { Toast.MakeText(context, "Wifi Direct is enabled", ToastLength.Short).Show(); } else { Toast.MakeText(context, "Wifi Direct is not enabled", ToastLength.Short).Show(); } } else if (WifiP2pManager.WifiP2pPeersChangedAction == action) { // wird bei Wifip2pmanager.requestpeers() aufgerufen if (mManager != null) { mManager.RequestPeers(mChannel, mActivity); } } else if (WifiP2pManager.WifiP2pConnectionChangedAction == action) { // antwort bei connect oder disconnect } else if (WifiP2pManager.WifiP2pThisDeviceChangedAction == action) { // antwort bei connection änderungen } }
public override void OnReceive(Context context, Intent intent) { var action = intent.Action; if (WifiP2pManager.WifiP2pStateChangedAction.Equals(action)) { // UI update to indicate wifi p2p status. var state = intent.GetIntExtra(WifiP2pManager.ExtraWifiState, -1); if (state == (int)WifiP2pState.Enabled) { // Wifi Direct mode is enabled _activity.IsWifiP2PEnabled = true; } else { _activity.IsWifiP2PEnabled = false; _activity.ResetData(); } Log.Debug(WiFiDirectActivity.Tag, "P2P state changed - " + state); } else if (WifiP2pManager.WifiP2pPeersChangedAction.Equals(action)) { // request available peers from the wifi p2p manager. This is an // asynchronous call and the calling activity is notified with a // callback on PeerListListener.onPeersAvailable() _manager?.RequestPeers(_channel, _activity.FragmentManager.FindFragmentById <DeviceListFragment>(Resource.Id.frag_list)); Log.Debug(WiFiDirectActivity.Tag, "P2P peers changed"); } else if (WifiP2pManager.WifiP2pConnectionChangedAction.Equals(action)) { if (_manager == null) { return; } var networkInfo = (NetworkInfo)intent.GetParcelableExtra(WifiP2pManager.ExtraNetworkInfo); if (networkInfo.IsConnected) { // we are connected with the other device, request connection // info to find group owner IP var fragment = _activity.FragmentManager.FindFragmentById <DeviceDetailFragment>(Resource.Id.frag_detail); _manager.RequestConnectionInfo(_channel, fragment); } else { // It's a disconnect _activity.ResetData(); } } else if (WifiP2pManager.WifiP2pThisDeviceChangedAction.Equals(action)) { var fragment = _activity.FragmentManager.FindFragmentById <DeviceListFragment>(Resource.Id.frag_list); fragment.UpdateThisDevice((WifiP2pDevice)intent.GetParcelableExtra(WifiP2pManager.ExtraWifiP2pDevice)); } }
public override void OnReceive(Context context, Intent intent) { Log.Info("BroadcastReceiver", "P2PBroadcastReceiver got " + intent); var action = intent.Action; if (WifiP2pManager.WifiP2pStateChangedAction.Equals(action)) { // UI update to indicate wifi p2p status. var state = intent.GetIntExtra(WifiP2pManager.ExtraWifiState, -1); if (state == (int)WifiP2pState.Enabled) { // Wifi Direct mode is enabled //_activity.IsWifiP2PEnabled = true; Toast.MakeText(context, "WiFiDirect IS enabled", ToastLength.Short).Show(); } else { Toast.MakeText(context, "WiFiDirect is not enabled", ToastLength.Short).Show(); } Log.Debug(MainActivity.Tag, "P2P state changed - " + state); } else if (WifiP2pManager.WifiP2pPeersChangedAction.Equals(action)) { // request available peers from the wifi p2p manager. This is an // asynchronous call and the calling activity is notified with a // callback on PeerListListener.onPeersAvailable() _manager.RequestPeers(_channel, _listener); Log.Debug(MainActivity.Tag, "P2P peers changed"); } else if (WifiP2pManager.WifiP2pConnectionChangedAction.Equals(action)) { if (_manager == null) { return; } var networkInfo = (NetworkInfo)intent.GetParcelableExtra(WifiP2pManager.ExtraNetworkInfo); if (networkInfo.IsConnected) { // we are connected with the other device, request connection // info to find group owner IP //var fragment = // _activity.FragmentManager.FindFragmentById<DeviceDetailFragment>(Resource.Id.frag_detail); //_manager.RequestConnectionInfo(_channel, fragment); } else { // It's a disconnect //_activity.ResetData(); } } }
public override void OnReceive(Context context, Intent intent) { var action = intent.Action; if (WifiP2pManager.WifiP2pStateChangedAction.Equals(action)) { // UI update to indicate wifi p2p status. var state = intent.GetIntExtra(WifiP2pManager.ExtraWifiState, -1); if (state == (int)WifiP2pState.Enabled) { WiFiService.wifiService.RefreshStateChanged(true); } // Wifi Direct mode is enabled //_activity.IsWifiP2PEnabled = true; else { WiFiService.wifiService.RefreshStateChanged(false); //_activity.IsWifiP2PEnabled = false; //_activity.ResetData(); } //Log.Debug(WiFiDirectActivity.Tag, "P2P state changed - " + state); } else if (WifiP2pManager.WifiP2pPeersChangedAction.Equals(action)) { // request available peers from the wifi p2p manager. This is an // asynchronous call and the calling activity is notified with a // callback on PeerListListener.onPeersAvailable() if (_manager != null) { try { _manager.RequestPeers(_channel, new PeersListener()); } catch (Exception ex) { string ss = ex.Message; } } //Log.Debug(WiFiDirectActivity.Tag, "P2P peers changed"); } else if (WifiP2pManager.WifiP2pConnectionChangedAction.Equals(action)) { if (_manager == null) { return; } var networkInfo = (NetworkInfo)intent.GetParcelableExtra(WifiP2pManager.ExtraNetworkInfo); if (networkInfo.IsConnected) { // we are connected with the other device, request connection // info to find group owner IP _manager.RequestConnectionInfo(_channel, new ServerReceiveMessage()); } } else if (WifiP2pManager.WifiP2pThisDeviceChangedAction.Equals(action)) { int m = 0; //var fragment = // _activity.FragmentManager.FindFragmentById<DeviceListFragment>(Resource.Id.frag_list); //fragment.UpdateThisDevice((WifiP2pDevice)intent.GetParcelableExtra(WifiP2pManager.ExtraWifiP2pDevice)); } }
/// <summary> /// Request an updated peer list explicitly. /// </summary> /// <remarks>Can return an empty list if no peers have been discovered. /// Catch the results with the method <see cref="OnPeersAvailable(WifiP2pDeviceList)"/></remarks> protected void RequestUpdatedPeerList() { WifiP2pManager.RequestPeers(WifiP2pChannel, this); }