我正在创建一个WPF应用程序,用于通过蓝牙发送和接收文件。我正在使用32feet库。我可以使用ObexObjectPush蓝牙服务发送文件。
但是当使用指定的here技术接收文件时,我的应用程序不会捕获它,而是由我的计算机捕获它。
这是我的代码:
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
}
}
我要做的就是捕获使用蓝牙接收的所有文件。目前,我的系统显示了一个用于接收文件的弹出窗口。我想重写此行为,并希望我的应用程序接收它。
在此方面的任何帮助将不胜感激。
答案 0 :(得分:1)
计算机正在捕获接收到的文件,因为它具有启动,运行和侦听请求的蓝牙处理程序。
您需要在计算机上停止“ 蓝牙OBEX服务” Windows服务,以防止其处理收到的文件而不是WPF应用程序。
注意:我宁愿禁用“ 蓝牙OBEX服务” Windows服务,而不是停止它,因为在某些情况下,似乎有其他服务导致该服务再次自动启动。通过禁用它,您将避免将来出现任何混乱。