public BluetoothClientConnection(BluetoothManager bluetoothManager, BluetoothDevice device, UUID guid) { this._BluetoothManager = bluetoothManager; this._Device = device; this._SdpUuid = guid; this.ConnectionEstablishState = ConnectionEstablishState.Created; }
private async void onQRCodeConnectClicked(object sender, EventArgs e) { var scanner = new ZXing.Mobile.MobileBarcodeScanner(); var scanResult = await scanner.Scan(); if (scanResult != null && scanResult.Text != "") { var connectInfo = Connection.DecodeBluetoothConnection(scanResult.Text); Guid guid = connectInfo.Guid; IBluetoothDevice bluetoothDevice = DependencyService.Get <IBluetoothManager>().GetBluetoothDevice(connectInfo.DeviceAddress); IConnectionManager connectionManager = DependencyService.Get <IConnectionManager>(); IClientConnection currentConnection = connectionManager.ControllerConnection as IClientConnection; ConnectionEstablishState connectState = ConnectionEstablishState.Failed; IClientConnection connection = DependencyService.Get <IBluetoothManager>().CreateRfcommClientConnection(bluetoothDevice, guid); if (connectionManager.ControllerConnection != null) { bool result = await DisplayAlert("Connect", "Stop Current Connection ?", "Yes", "No"); if (result) { if (currentConnection.ConnectionEstablishState == ConnectionEstablishState.Connecting) { currentConnection.AbortConnecting(); } } } connectionManager.ControllerConnection = connection; connectState = await connection.ConnectAsync(); } }
private async void onConnectClicked(object sender, EventArgs e) { if (_SelectedGuid == null) { Debug.WriteLine("NO UUID SELECTED"); return; } IConnectionManager connectionManager = DependencyService.Get <IConnectionManager>(); IClientConnection currentConnection = connectionManager.ControllerConnection as IClientConnection; ConnectionEstablishState connectState = ConnectionEstablishState.Failed; IClientConnection connection = DependencyService.Get <IManagerManager>().BluetoothManager.CreateRfcommClientConnection(_BluetoothDevice, (Guid)_SelectedGuid); if (connectionManager.ControllerConnection != null) { bool result = await DisplayAlert("Connect", "Stop Current Connection ?", "Yes", "No"); if (result) { if (currentConnection.ConnectionEstablishState == ConnectionEstablishState.Connecting) { currentConnection.AbortConnecting(); } } } connectionManager.ControllerConnection = connection; connectState = await connection.ConnectAsync(); if (connectState == ConnectionEstablishState.Succeeded) { } }
private void OnControllerConnectionEstablishResult(IConnection connection, ConnectionEstablishState connectionEstablishState) { this.Dispatcher.Invoke(() => { tb_ConnectionState.Text = connectionEstablishState.ToString(); }); }
private async void OnConnectionRequested(WiFiDirectConnectionListener sender, WiFiDirectConnectionRequestedEventArgs args) { WiFiDirectConnectionRequest ConnectionRequest = args.GetConnectionRequest(); WiFiDirectDevice wfdDevice = await WiFiDirectDevice.FromIdAsync(ConnectionRequest.DeviceInformation.Id); EndpointPairs = wfdDevice.GetConnectionEndpointPairs(); _ConnectionEstablishState = ConnectionEstablishState.Succeeded; OnConnectionEstalblishResult?.Invoke(this, _ConnectionEstablishState); }
public void StartServer() { publisher = new WiFiDirectAdvertisementPublisher(); listener = new WiFiDirectConnectionListener(); publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Normal; listener.ConnectionRequested += OnConnectionRequested; _ConnectionEstablishState = ConnectionEstablishState.Connecting; OnConnectionEstalblishResult(this, _ConnectionEstablishState); publisher.Start(); StartUDP(50001); //TextBlock_ConnectedState.Text = "开始广播……"; }
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 _OnConnectionResult(IConnection connection, ConnectionEstablishState connectionEstablishState) { if (connectionEstablishState == ConnectionEstablishState.Succeeded) { _ConnectionStateSnackBar.BarType = BarType.Succeed; //_ConnectionStateSnackBar.FadeTo(0, 1000); } if (connectionEstablishState == ConnectionEstablishState.Disconnected) { _ConnectionStateSnackBar.BarType = BarType.Error; } if (connectionEstablishState == ConnectionEstablishState.Connecting) { _ConnectionStateSnackBar.BarType = BarType.Error; } }
private void OnConnectionEstalblishResult(IConnection connection, ConnectionEstablishState connectionEstablishState) { }
private void onControllerConnectionEstalblishResult(IConnection connection, ConnectionEstablishState connectionEstablishState) { connectionStateLabel.Text = connectionEstablishState.ToString(); }