繁体   English   中英

在C#中通过蓝牙捕获文件

[英]Capture files send over bluetooth in C#

我正在创建一个WPF应用程序,用于通过蓝牙发送和接收文件。 我正在使用32feet库。 我可以使用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 OBEX Service ”Windows服务,以防止它处理接收的文件而不是WPF应用程序。

注意:我更喜欢禁用“ 蓝牙OBEX服务 ”Windows服务而不是停止它,因为它似乎 - 在某些情况下 - 有一些其他服务导致此服务再次自动启动。 通过禁用它,您将避免任何未来的混淆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM