Установите обратный вызов для ответа на подписку и вызовите startResolutionForResult для объекта Status, если статус был APP_NOT_OPTED_IN . См. пример github
Убедитесь, что вы включили Nearby API в консоли разработчика для своего приложения. Шаг 3 здесь
Используйте Strategy.BLE_ONLY в вызове для подписки
Наконец, если ничего из этого не помогает, попробуйте отдельное приложение для сканирования BLE, чтобы убедиться, что маяк действительно вещает.
Если вы хотите опубликовать более полный пример кода, один из наших инженеров может взглянуть на него.
(Я работаю над Nearby API)
personAndrew Bunnerschedule12.09.2015
comment
Спасибо, Эндрю .. Я проверил приложение для сканирования BLE, и маяки транслируются, а также я выполнил первые два шага, перечисленные вами. Я использую тот же код в примере с github и смог обнаружить устройства Android поблизости. Чтобы обнаружить маяки, я изменил метод подписки Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener, PUB_SUB_STRATEGY) на Nearby.Messages.subscribe(mGoogleApiClient, messageListener, Strategy.BLE_ONLY).
- personuser5197215; 14.09.2015
comment
Ницца! Рад, что вы решили это. Я обновил свой ответ выше, упомянув Strategy.BLE_ONLY... мы убедились, что код в нашей страница-маяк отражает это
- personAndrew Bunner; 10.10.2015
comment
Извини, Андрей, я не правильно прокомментировал. Я хотел сказать, что даже после попытки я не смог обнаружить маяки.
- personuser5197215; 26.10.2015
comment
Вы использовали тот же идентификатор проекта консоли разработчика в вызовах службы Proximity Beacon, что и в подписном приложении? По умолчанию вложения маяка связаны ACL только с вашим проектом — приложение должно иметь ключ API, связанный с тем же проектом, который вы использовали при добавлении вложений.
- personAndrew Bunner; 27.10.2015
Еще одна идея: убедитесь, что ключ API в вашем манифесте относится к тому же проекту Google Developers Console, который вы использовали, когда прикрепляли свои данные к маякам. Вложения маяка являются частными для проекта, который их создал.
personJoe Farfelschedule15.09.2015
comment
Я попытался использовать тот же ключ API, что и для API Proximity Beacon, но все еще не смог обнаружить маяк.
- personuser5197215; 18.09.2015
Еще одно предложение для всех, кто читает этот вопрос, у кого проблемы с подключением. Снято из другого ответа:
Это может показаться странным, но попробуйте включить и выключить Wi-Fi. Многие более дешевые устройства действительно плохо работают с Bluetooth и не могут подключиться, но по какой-то причине выключение и включение Wi-Fi устраняет проблему на некоторое время.
У меня была похожая проблема - все в моем коде было правильно, но не обнаруживало маяки. Я даже пробовал с приложением производителя, и их приложение тоже не смогло обнаружить маяк (но их версия для iPhone смогла). Я выключил свой Wi-Fi, затем снова включил, и приложение производителя заработало, как и мое.