0

我正在通过 Google Nearby 发布和订阅消息,并且正确接收 onFound 和 onLost,但没有收到关于 onDistanceChanged 或 onBleSignalChanged 的​​任何回调。我知道 BLE 信号更改是基于使用 BLE 进行发现,但是 onDistanceChanged 是否有类似的限制?文档似乎没有表明存在。下面是我的消息监听器,感谢您的任何建议!

    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            String messageAsString = new String(message.getContent());
            Log.d(TAG, "Found message: " + messageAsString);
        }

        @Override
        public void onLost(Message message) {
            String messageAsString = new String(message.getContent());
            Log.d(TAG, "Lost sight of message: " + messageAsString);
        }

        @Override
        public void onDistanceChanged(Message message, Distance distance) {
            super.onDistanceChanged(message, distance);
            Log.d(TAG, "New distance "+distance.getMeters()+" to message: " + new String(message.getContent()));
        }

        @Override
        public void onBleSignalChanged(Message message, BleSignal bleSignal) {
            super.onBleSignalChanged(message, bleSignal);
            Log.d(TAG, "New ble signal " + bleSignal.getRssi() + " to message: " + new String(message.getContent()));
        }

    };
4

1 回答 1

0

您可能无法收到该回调的原因有两个:

  1. 不幸的是,距离回调目前仅适用于 BLE 信标消息。我们已经修复了文档以说明这一点,但直到下一个 Google Play 服务 SDK 版本(几周后)它们才会在网络上更新。我们希望它能够在未来用于更多消息。
  2. PendingIntent 版本的 subscribe() 不会调用 BLE 信号和距离回调。
于 2016-10-21T17:47:48.057 回答