我已经成功实现了一个库,用于通过Windows Phone 8.1应用程序(C#)上的Obex Object Push Profile通过蓝牙发送文件。 无论如何,我还需要实现相反的方向(通过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();
}
提前感谢您对此主题的任何暗示 洛伦佐