private void DisposeThreads() { if (connectThread != null) { connectThread.Cancel(); connectThread = null; } if (connectedThread != null) { connectedThread.Cancel(); connectedThread = null; } }
private void OnConnected(BluetoothSocket socket, BluetoothDevice device) { connectThread = null; DisposeThreads(); connectedThread = new ConnectedThread(socket); connectedThread.OnDataReceived -= OnDataReceived; connectedThread.OnDataReceived += OnDataReceived; connectedThread.OnDataError -= OnDataError; connectedThread.OnDataError += OnDataError; connectedThread.Start(); Notify(CreateNotification(GetString(Resource.String.message_connected))); }
private void Connect(BluetoothDevice device) { if (!IsRunning) { return; } DisposeThreads(); BluetoothAdapter.DefaultAdapter.CancelDiscovery(); connectThread = new ConnectThread(device); connectThread.OnConnected -= OnConnected; connectThread.OnConnected += OnConnected; connectThread.OnConnectionError -= OnConnectionError; connectThread.OnConnectionError += OnConnectionError; connectThread.Start(); }