#android #google-nearby
#Android #google-поблизости
Вопрос:
Я публикую и подписываюсь на сообщения с помощью Google Поблизости и получаю 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()));
}
};
Ответ №1:
Есть две причины, по которым вы можете не получить этот обратный вызов:
- К сожалению, обратный вызов на расстоянии в настоящее время работает только для сообщений BLE beacon. Мы исправили это в документах, но они не будут обновляться в Интернете до следующего выпуска Google Play Services SDK (через пару недель). Мы надеемся заставить его работать для большего количества сообщений в будущем.
- Обратные вызовы сигнала BLE и расстояния не вызываются для PendingIntent версии subscribe().
Комментарии:
1. Я не уверен точно, как определить, какой метод используется для обнаружения близлежащих устройств, но я определенно не использую BLE-маяк, поэтому я предполагаю, что это проблема. Просто примечание, но мне бы хотелось, чтобы способ общения был только с устройствами, находящимися в непосредственной близости. Похоже, что Google Поблизости предназначен для сопряжения с близлежащими устройствами, но затем сопряжение сохраняется, даже если расстояние между ними увеличивается, так что они больше не находятся поблизости.