当其他应用程序需要访问蓝牙连接(Bluetopia)时,禁用BTExplorer

本文关键字:Bluetopia BTExplorer 禁用 连接 应用程序 其他 访问 | 更新日期: 2023-09-27 18:08:03

我正在为摩托罗拉MC55设备开发一个c#设备应用程序(使用Bluetopia)。此应用程序设置蓝牙查询和配对过程(通过Enterprise Mobility Developer Kit),并写下虚拟串行端口 #:

public void DoConnection(IRemoteBTDevice rd)
{
    RemoteDevice remoteDevice = new RemoteDevice(rd.DeviceName, rd.Id.Replace(":", ""), "");
    this.bluetooth.RemoteDevices.Add(remoteDevice);
    this.bluetooth.RemoteDevices.Refresh();
    if (!remoteDevice.IsPaired)
    {
        remoteDevice.Pair(rd.Pin);
    }
    //TODO Note serial port # (get it by means of remoteDevice.LocalComPort) 
    //Works smoothly, but a second process has to do this (requirement).
    remoteDevice.OpenPort();
}

但是一旦第二个进程(例如另一个c#设备应用程序)打开该串行端口,BTExplorer就启动了。如何抑制这种现象?

this.comX = new SerialPort(this.BluetoothPortName);
this.comX.Open();

我只是使用另一个程序集:http://32feet.codeplex.com/。它在摩托罗拉ES400(微软堆栈)上运行顺畅。在看到这个:http://32feet.codeplex.com/wikipage?title=Stonestreet%20One%20Bluetopia之后,我使用了相同的代码,但它还不能在MC55上无故障地工作。

谢谢你的支持,罗杰·胡贝尔

当其他应用程序需要访问蓝牙连接(Bluetopia)时,禁用BTExplorer

据我所知,它是BTExplorer.exe,实际上提供/控制虚拟COM端口服务,所以它需要在使用虚拟COM端口时运行…

一定要让我知道你在使用我的32英尺时在MC55上看到了什么问题。NET蓝牙支持。正如我在32英尺处提到的。我在一台M3移动设备上测试了蓝牙,它有一个最新版本的蓝牙堆栈。也许斯通街一号在你的版本之间改变了什么……(如果蓝牙启动完全失败,那么我在3.3版本中有更多的日志记录-我离发布也不远了)。

当然,如果第二个c#程序需要使用虚拟COM端口,那么32英尺。NET没有帮助——如上所述,仍然需要BTExplorer。但是,如果您可以更改该程序使用蓝牙客户端等而不是COM端口…(当然记得"一次一个蓝牙"的限制)。

艾伦