我正在构建一个xamarin.ios应用程序,它将使用蓝牙连接到外围设备。到目前为止,我已成功发现并连接到我想要连接的外围设备。
现在,问题是每次我需要连接到设备时,我都不想扫描和发现设备。我正在尝试使用CBCentralManager.RetrievePeripheralsWithIdentifiers(uuid),但我似乎没有成功使用此方法。我可以使用这种方法检索已知的外围设备。当我看到它在调试模式下返回的内容时,它会给我设备名称,但服务列表(我想使用它)为空。
有没有人使用这种方法取得任何成功?提前谢谢!
这是我的代码的一小部分(调用此方法):
NSUuid ns = new NSUuid ("known device id");
var uuid = new NSUuid[]{ ns};
CBPeripheral []per= manager.RetrievePeripheralsWithIdentifiers (uuid);
答案 0 :(得分:0)
好的,我已经想通了。问题不在于返回null的服务列表。因为,在连接到设备之前,服务列表必须为null。问题是我应该如何在适当的委托对象中使用该方法。它完美无缺。