1

我已经成功实现了一个库,用于通过 Windows Phone 8.1 应用程序(C#)上的 Obex 对象推送配置文件通过蓝牙发送文件。无论如何,我还需要实现相反的方向(通过 OPP 接收文件),但我无法找到覆盖现有 OPP 系统服务的方法。问题是,当文件从设备发送到我的 Windows Phone 应用程序时,系统服务首先“捕获”它(并显示消息“DeviceX 正在与您共享文件,接收内容?”)。如果我尝试使用 RfcommConnectionTrigger 并注册由传入的 ObexObjectPush 请求触发的后台任务,则会引发异常:“该进程无法访问该文件,因为它正在被另一个进程使用。(来自 HRESULT 的异常:0x80070020)”。我想另一个进程是系统服务。有谁知道解决这个问题?我在下面报告后台任务注册的代码:

        string taskName = RfcommServiceId.ObexObjectPush.AsString();
        if (BackgroundTaskRegistration.AllTasks.Values.SingleOrDefault(x => x.Name == taskName) == null)
        {
            RfcommConnectionTrigger trigger = new RfcommConnectionTrigger
            {

            };
            trigger.InboundConnection.LocalServiceId = RfcommServiceId.ObexObjectPush;//OPPprovider.ServiceId;

            BackgroundTaskBuilder builder = new BackgroundTaskBuilder
            {
                Name = taskName,
                TaskEntryPoint = "WP_OPPServerBackgroundTask.OppTask",
            };
            builder.SetTrigger(trigger);
            builder.Register();
        }

在此先感谢您提供有关此主题的任何提示 Lorenzo

4

0 回答 0