Название суммирует его. Тот же вопрос здесь. Проводка на SO, чтобы узнать, смогу ли я получить какую-либо помощь. Я также сделал почти минимальный проект, чтобы продемонстрировать проблему, с которой я столкнулся, поэтому ссылки, которые следуют, указывают на упомянутый фрагмент кода.
Ничего не нравится в том, что я сейчас делаю:
- Мое часовое устройство уведомило, что соединение Bluetooth с телефоном завершено, используя
.pebble_app_connection_handler
. - В этом обратном вызове bluetooth я настроил, я отправить a на телефоне, используя
app_message_outbox_send()
. Разумеется, при подключении BT. - У моего Android-приложения есть
BroadcastReceiver
, который прослушивает эти сообщения, а вызываетIntentService
. - Этот
IntentService
вычисляет данные, подталкивает его к часам и запустится снова через некоторое время.
Что я ожидаю:
- Когда соединение BT завершено, вызывается обработчик соединения.
-
app_message_outbox_send()
возвращает значение, указывающее на наличие ошибок сообщения. Обычно этоAPP_MSG_OK
, но это может бытьAPP_MSG_BUSY
, и я прекрасно это понимаю. - Вызов вызываемых сообщений приложения (
app_message_register_inbox_received
и друзей), чтобы указать, действительно ли работает асинхронный процесс отправки сообщения на телефон. Это указано в docs.
Что я вижу:
Ожидаемые шаги происходят при загрузке наблюдаемого элемента, поскольку я запускаю обновление вручную. Однако, когда обновление инициируется событием соединения BT, ожидаемые шаги 1 и 2 происходят, но не шаг 3.
Это особенно усугубляется, когда я получаю APP_MSG_OK
на шаге 2, потому что я должен разумно ожидать, что все на часах пошло нормально, и я должен подготовиться к тому, чтобы получить что-то внутри обратных вызовов сообщения приложения. В основном, мне говорят документы, чтобы дождаться звонка, который никогда не прибывает.
Это происходит в 100% случаев.
Спасибо за любую помощь. У меня есть другое решение, которое работает, используя часы, чтобы отслеживать интервал обновления, но я считаю, что это позволяет мне экономить больше батареи, используя последние функции Android.