Захват файлов отправлять через Bluetooth в C#

Я создаю приложение WPF для отправки и получения файлов по Bluetooth. Я использую библиотеку 32 футов для того же. Я могу отправлять файлы с помощью службы Bluetooth ObexObjectPush.

Но когда файлы принимаются с использованием указанной здесь методики, они не регистрируются моим приложением, а мой компьютер захватывает их.

Вот мой код:

  private void Listener(CancellationTokenSource token)
    {
        try
        {
            while (true)
            {
                using (var client = _listener.AcceptBluetoothClient())
                {
                    if (token.IsCancellationRequested)
                    {
                        return;
                    }

                    using (var streamReader = new StreamReader(client.GetStream()))
                    {
                        try
                        {  
                           // ...  Custom operation
                          //....
                        }
                        catch (IOException ex)
                        {                               
                            client.Close();
                            break;
                        }
                    }
                }
            }
        }
        catch (Exception exception)
        {
            // todo handle the exception
        }
    }

Все, что я хочу сделать, это захватить все файлы, полученные с помощью Bluetooth. В настоящее время моя система показывает всплывающее окно для получения файла. Я хочу переопределить это поведение и хочу, чтобы мое приложение получало его.

Любая помощь в этом будет высоко оценена.

1 ответ

Решение

Компьютер захватывает полученные файлы, потому что у него есть собственный обработчик Bluetooth, работающий и прослушивающий запросы.

Вам необходимо остановить службу Windows " Bluetooth OBEX Service " на вашем компьютере, чтобы она не обрабатывала полученные файлы вместо вашего приложения WPF.

ПРИМЕЧАНИЕ. Я предпочитаю отключать службу Windows " Служба Bluetooth OBEX ", а не останавливать ее, поскольку, по-видимому, при некоторых обстоятельствах существуют другие службы, вызывающие автоматический запуск этой службы. Отключив его, вы избежите путаницы в будущем.

Другие вопросы по тегам