我正在使用 eclipse / WTK 2.5.2 开发一个 J2ME 程序,并且在使用蓝牙连接两个模拟器时遇到问题。有一个服务器和一个 .client 在两个不同的模拟器上运行。
问题是客户端程序无法发现任何蓝牙设备。这是服务器和客户端代码:
public Server()
{
try
{
LocalDevice local = LocalDevice.getLocalDevice();
local.setDiscoverable(DiscoveryAgent.GIAC);
server = (StreamConnectionNotifier)
Connector.open("btspp://localhost:"
+ UUID_STRING + ";name=" + SERVICE_NAME);
Util.Log("EchoServer() Server connector open!");
}
catch (Exception e)
{}
}
调用 Connector.open 后,我在控制台中收到以下警告,我认为这是相关的:
警告:未注册设备:未指定
和搜索设备的客户端代码:
public SearchForDevices(String uuid, String nm)
{
UUIDStr = uuid;
srchServiceName = nm;
try
{
LocalDevice local = LocalDevice.getLocalDevice();
agent = local.getDiscoveryAgent();
deviceList = new Vector();
agent.startInquiry(DiscoveryAgent.GIAC, this); // non-blocking
}
catch (Exception e)
{}
}
系统从不调用 deviceDiscovered,而是使用 INQUIRY_COMPLETED 参数调用inquiryCompleted(),所以我想客户端程序运行良好。
在模拟器设置中启用蓝牙..