// Set connection configuration and request connection to given MAC address public static void Connect(string DeviceAddress) { WifiP2pConfig config = new WifiP2pConfig { DeviceAddress = DeviceAddress }; config.Wps.Setup = WpsInfo.Pbc; config.GroupOwnerIntent = 0; Manager.Connect(Channel, config, new ConnectActionListener()); //System.Threading.Thread.Sleep(1000); //Manager.CancelConnect(Channel, new ConnectActionListener()); }
public async Task <ConnectionEstablishState> ConnectAsync() { await Task.Run(() => { WifiP2pConfig config = new WifiP2pConfig(); config.DeviceAddress = (WifiDirectDevice as WifiDirectDevice).Address; WifiP2pManager droidWifiP2pManager = _WifiDirectManager._DroidWifiP2pManager; droidWifiP2pManager.Connect(_WifiDirectManager._Channel, config, _ConnectStateListener); while (!_ConnectingSucceeded) { if (_ReconnectMark) { _ReconnectMark = false; droidWifiP2pManager.Connect(_WifiDirectManager._Channel, config, _ConnectStateListener); } } WifiP2pActionListener connectionInfoListener = new WifiP2pActionListener(_WifiDirectManager); _WifiDirectManager._DroidWifiP2pManager.RequestConnectionInfo(_WifiDirectManager._Channel, connectionInfoListener); while (_WifiDirectManager._LatestWifiP2pInfo == null) { System.Diagnostics.Debug.WriteLine("HERE2"); } WifiP2pInfo preInfo = null; while (_WifiDirectManager._LatestWifiP2pInfo.GroupOwnerAddress == null) { if (preInfo != _WifiDirectManager._LatestWifiP2pInfo) { preInfo = _WifiDirectManager._LatestWifiP2pInfo; _WifiDirectManager._DroidWifiP2pManager.RequestConnectionInfo(_WifiDirectManager._Channel, connectionInfoListener); System.Diagnostics.Debug.WriteLine("CHANGE"); } System.Diagnostics.Debug.WriteLine("HERE3"); } if (_ConnectingSucceeded) { ConnectionEstablishState = ConnectionEstablishState.Succeeded; } OnConnectionEstalblishResult?.Invoke(this, ConnectionEstablishState); }); try { System.Diagnostics.Debug.WriteLine("Connect Succeed " + _WifiDirectManager._LatestWifiP2pInfo.GroupOwnerAddress.HostAddress); } catch (Exception) { var f**k = _WifiDirectManager._LatestWifiP2pInfo; } return(ConnectionEstablishState); }
private void OnListViewItemClick(object sender, AdapterView.ItemClickEventArgs itemClickEventArgs) { var peer = mAdapter.GetItem(itemClickEventArgs.Position); WifiP2pConfig conf = new WifiP2pConfig { DeviceAddress = peer.Address, Wps = { Setup = WpsInfo.Pbc } }; mManager.Connect(mChannel, conf, new WifiDirectActionListener(this, "Connect", () => { })); }
//step2 public void ConnectDevice(string DeviceName) { foreach (var p in WifiManager.PhoneDevices) { if (p.DeviceName != DeviceName) { continue; } WifiP2pConfig config = new WifiP2pConfig(); config.DeviceAddress = p.DeviceAddress; config.Wps.Setup = WpsInfo.Pbc; config.GroupOwnerIntent = 0; WifiManager.manager.Connect(WifiManager.channel, config, new MyActionListner(ConnectSuccess)); } }
/// <summary> /// <see cref="Activity.OnCreate(Bundle)"/> /// </summary> override protected void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_client); m_Views = new ClientViews(this); m_Views.ButtonProgressBar.Visibility = ViewStates.Gone; m_Views.GlobalProgressBar.Visibility = ViewStates.Visible; m_Views.TitleLayout.Visibility = ViewStates.Gone; m_Views.NoPeersLayout.Visibility = ViewStates.Gone; m_Views.RefreshLayout.SetOnRefreshListener(this); m_Views.RefreshButton.SetOnClickListener(new BaseOnClickListener(v => { m_Views.RefreshButton.Visibility = ViewStates.Invisible; m_Views.ButtonProgressBar.Visibility = ViewStates.Visible; StartDiscovering(); })); m_CurrentPeers = new HashSet <WifiP2pDevice>(); m_Adapter = new WifiPeerAdapter(m_CurrentPeers, false, device => { WifiP2pConfig config = new WifiP2pConfig { DeviceAddress = device.DeviceAddress }; WifiP2pManager.Connect(WifiP2pChannel, config, new WifiP2pActionListener(this, EWifiP2pAction.Connect)); }); m_Views.PeersRecyclerView.SetAdapter(m_Adapter); m_PermissionService = new PermissionService(this); StartDiscovering(); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { _contentView = inflater.Inflate(Resource.Layout.device_detail, null); _contentView.FindViewById <Button>(Resource.Id.btn_connect).Click += (sender, args) => { var config = new WifiP2pConfig { DeviceAddress = _device.DeviceAddress, Wps = { Setup = WpsInfo.Pbc }, GroupOwnerIntent = 15 }; if (_progressDialog != null && _progressDialog.IsShowing) { _progressDialog.Dismiss(); } _progressDialog = ProgressDialog.Show(Activity, "Press back to cancel", "Connecting to: " + _device.DeviceAddress, true, true); ((IDeviceActionListener)Activity).Connect(config); }; _contentView.FindViewById <Button>(Resource.Id.btn_disconnect).Click += (sender, args) => ((IDeviceActionListener)Activity).Disconnect(); _contentView.FindViewById <Button>(Resource.Id.btn_start_client).Click += (sender, args) => { var intent = new Intent(Intent.ActionGetContent); intent.SetType("image/*"); StartActivityForResult(intent, ChooseFileResultCode); }; return(_contentView); }
public void Connect(WifiP2pConfig config) { _manager.Connect(_channel, config, new MyActionListner(this, "Connect", () => { })); }