我正在尝试在收到带有 Android 应用程序的谷歌云消息时在 MS Band 上显示警报。我正在使用 Azure 通知中心发送和响应消息。收到消息后,我想向乐队发送通知。
我目前遇到的问题是,当我在 NotificationHandler 中检查频段连接时,会引发以下异常:
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()
我假设通知处理程序被配置为场景中的广播接收器,并且通过尝试与乐队交互,我通过绑定到服务来打破广播接收器的规则。
我应该如何处理这种情况?当然,这是一个常见的场景——当应用程序接收到通知时,将通知镜像到乐队上?我认为处理这个问题的唯一方法是创建一个新的 Intent 服务来显示通知并从 BroadcastReciever 开始,但这似乎有点笨拙?