我已经设法在 Android 上实现了这一点,我希望有一个适用于 iOS 的解决方案。我正在使用 Plugin.BLE,我正在尝试创建应该位于 Xamarin iOS > AppDelegate 级别的事件侦听器,它将检测 IBleCentralManagerDelegate.UpdatedState 更改。原因:我想在用户执行 PIN 配对时捕获 BLE 状态
到目前为止,我有:
internal class SimpleCBCentralManagerDelegate : CBCentralManagerDelegate
{
public override void UpdatedState(CBCentralManager central)
{
var state = central.State;
}
public override void FailedToConnectPeripheral(CBCentralManager central, CBPeripheral peripheral, NSError error)
{
base.FailedToConnectPeripheral(central, peripheral, error);
}
public override void ConnectedPeripheral(CBCentralManager central, CBPeripheral peripheral)
{
base.ConnectedPeripheral(central, peripheral);
}
[Export("centralManager:didUpdateANCSAuthorizationForPeripheral:")]
public void DidUpdateAncsAuthorization(CBCentralManager central, CBPeripheral peripheral)
{
var test = peripheral.IsConnected;
}
}
我只得到状态 powerOn 或 powerOff 而其他状态或事件没有触发。