public void Connect(bool autoConnect = false)
        {
            var device = Android.Bluetooth.BluetoothAdapter.DefaultAdapter?.GetRemoteDevice(_address);

            if (device == null)
            {
                throw new Exception($"Can not get remote device with address:\"{_address}\".");
            }
            var callback = new AndroidBluetoothGattCallback();

            _gatt = device.ConnectGatt(Android.App.Application.Context, autoConnect, callback);
        }
        public void Connect(bool autoConnect = false)
        {
            var device = AndroidBluetooth.BluetoothAdapter.DefaultAdapter?.GetRemoteDevice(_address);

            if (device == null)
            {
                throw new Exception($"Can not get remote device with address:\"{_address}\".");
            }
            var callback = new AndroidBluetoothGattCallback();

            callback.OnConnectionStateChangeOccured += Callback_OnConnectionStateChangeOccured;
            callback.OnServicesAlreadyDiscovered    += Callback_OnServicesAlreadyDiscovered;
            callback.OnCharacteristicAlreadyChanged += Callback_OnCharacteristicAlreadyChanged;
            _gatt = device.ConnectGatt(Android.App.Application.Context, autoConnect, callback);
        }