Android Microsoft频带:在广播接收器的频带上显示通知

Android Microsoft频带:在广播接收器的频带上显示通知,android,broadcastreceiver,microsoft-band,Android,Broadcastreceiver,Microsoft Band,我试图在收到带有Android应用程序的google cloud消息时在MS Band上显示警报。我正在使用Azure通知中心发送和响应消息。收到消息后,我想向乐队发送通知 我现在遇到的问题是,当我在NotificationHandler中检查bands连接时,会引发以下异常: 不允许BroadcastReceiver组件绑定到服务 有关守则如下: if (client == null) { BandInfo[] devices = BandClientManager.getIn

我试图在收到带有Android应用程序的google cloud消息时在MS Band上显示警报。我正在使用Azure通知中心发送和响应消息。收到消息后,我想向乐队发送通知

我现在遇到的问题是,当我在NotificationHandler中检查bands连接时,会引发以下异常:

不允许BroadcastReceiver组件绑定到服务

有关守则如下:

if (client == null) {
        BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
        if (devices.length == 0) {
            Log.i(TAG, "Band isn't paired with your phone");
            return false;
        }
        client = BandClientManager.getInstance().create(ctx, devices[0]);
    } else if (ConnectionState.CONNECTED == client.getConnectionState()) {
        return true;
    }

    Log.i(TAG, "Band is connecting...");
    return ConnectionState.CONNECTED == client.connect().await();
调用
client.connect().await()时引发异常

我假设通知处理程序被配置为场景中的BroadcastReceiver,并且通过尝试与Band交互,我通过绑定到服务打破了BroadcastReceiver的规则


我应该如何处理这种情况?当然,这是一种常见的场景—在应用程序拾取通知时在频带上镜像通知?我认为处理这个问题的唯一方法是创建一个新的意向服务来显示通知,并从广播接收器开始,但这似乎有点笨重?

我决定创建一个意向服务,我在广播接收器中启动该服务来处理将消息发送到乐队的过程。这允许接收器快速响应和退出,并且可以在服务中进行频带连接

它并不像我想象的那么笨重