Захват файлов отправлять через 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 ", а не останавливать ее, поскольку, по-видимому, при некоторых обстоятельствах существуют другие службы, вызывающие автоматический запуск этой службы. Отключив его, вы избежите путаницы в будущем.