标题总结了一下。同样的问题是here。发布SO以查看我是否可以获得任何帮助。我还制作了一个almost minimal project来演示我面临的问题,所以后面的链接指向所提到的代码片段。
对于我目前正在做的事情没什么好看的:
.pebble_app_connection_handler
与手机的蓝牙连接已启动。app_message_outbox_send()
send message to the phone calls an IntentService
。当然,当BT连接启动时。BroadcastReceiver
,可以收听这些消息并calculates the data。IntentService
pushes it to the watch,sets itself to run again和docs。我的期望:
app_message_outbox_send()
返回一个值,告知消息启动是否有任何错误。通常,这是APP_MSG_OK
,但它可以是APP_MSG_BUSY
,我完全清楚这一点。app_message_register_inbox_received
和好友)以指示向手机发送消息的异步过程是否真的有效。这在{{3}}。我看到了什么:
加载表盘时会发生预期的步骤,因为我会手动触发更新。但是,当BT连接事件触发更新时,会发生预期的步骤1和2,但不会执行步骤3.
当我在第2步中获得APP_MSG_OK
时,这尤其令人恼火,因为我应该合理地期望手表上的所有内容都正常,我应该准备好在应用内接收某些内容消息回调。基本上,文档告诉我等待永远不会到达的电话。
这种情况100%发生。
感谢您的帮助。我有另一个解决方案,使用手表来跟踪更新间隔,但我相信这个允许我通过利用最近的Android功能节省更多电池。
答案 0 :(得分:3)
来自文档:
还要通知与任何PebbleKit相关的连接事件 与此watchapp关联的伴随应用程序,也为其分配处理程序 pebblekit_connection_handler 字段。这将在调用时调用 与PebbleKit应用程序的连接状态发生了变化。
也许这就是你需要的