如何从Xamarin.Forms监视蓝牙连接状态的更改

如何从Xamarin.Forms监视蓝牙连接状态的更改,xamarin,xamarin.forms,bluetooth-lowenergy,core-bluetooth,android-bluetooth,Xamarin,Xamarin.forms,Bluetooth Lowenergy,Core Bluetooth,Android Bluetooth,需要检查与远程设备的蓝牙连接是否存在或已断开。它基本上是一种主要针对Android和UWP的形式 我尝试了依赖服务,并在Android中实现如下: _[assembly: Xamarin.Forms.Dependency(typeof(BluetoothListenerActivity))] namespace demotool.Droid { public class BluetoothListenerActivity : Activity,IBluetoothListener { p

需要检查与远程设备的蓝牙连接是否存在或已断开。它基本上是一种主要针对Android和UWP的形式

我尝试了依赖服务,并在Android中实现如下:

    _[assembly: Xamarin.Forms.Dependency(typeof(BluetoothListenerActivity))]
namespace demotool.Droid
{
public class BluetoothListenerActivity : Activity,IBluetoothListener
{
public event EventHandler OnDeviceDisconnected;
public static BluetoothListenerActivity mySelf;

    //string device;
    public void start()
    {
        mySelf = this;
        BluetoothStatusBroadCast mreceiver = new BluetoothStatusBroadCast();
        IntentFilter mfilter = new IntentFilter(BluetoothDevice.ActionAclDisconnected);
        Forms.Context.RegisterReceiver(mreceiver,mfilter);
    }
    public void receivedstatuschangd(string devicename,string state)
    {
        OnDeviceDisconnected(this, new DeviceDisconnectedEventArgs(name: devicename,status: state));
    }
}
}_

BroadcastReceiver: 
namespace Demo.Droid
{
[BroadcastReceiver]
class BluetoothStatusBroadCast : BroadcastReceiver 
{
public override void OnReceive(Context context, Intent intent)
{
BluetoothDevice device =(BluetoothDevice)intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
BluetoothListenerActivity.mySelf.receivedstatuschangd(device.Name, intent.Action);
}
}
}

Xamarin Forms Part:
_ protected override void OnStart()
{
IBluetoothListener bluetoothlistener = DependencyService.Get();
bluetoothlistener.start();
bluetoothlistener.OnDeviceDisconnected += Bluetoothlistener_OnDeviceDisconnected;
}
private void Bluetoothlistener_OnDeviceDisconnected(object sender, DeviceDisconnectedEventArgs e)
{
Page page1 = new Page();
page1.DisplayAlert(e.Name+ " " +e.Status, "Alert", "OK");
}_
我已注册的意图操作-BluetoothDevice.ActionAclDisconnected,在配对完成或发出连接请求后将被触发,我假设这不是设备的实际断开连接

是否有任何通用插件可监控远程设备的蓝牙连接更改。或者你能告诉我我应该倾听的真实意图吗


提前谢谢

我也面临着同样的问题,有人能解决这个问题吗?我也面临着同样的问题,有人能解决这个问题吗