启动 Wear 应用程序时向 Android 服务发送消息,然后将数据发送回 Wear 应用程序

Send message to Android service when wear app is launched which then sends data back to the wear app

我想在我的 Wear 应用程序启动时从我的应用程序请求一些数据。然后应将此数据发送回穿戴应用程序以显示。我正在努力了解如何实现 WearableListeners 或 DataItems 或在何处实现它们!

另一个要求是 phone 应用 不需要 需要打开才能发送接收数据,这是一项服务吗?位于应用程序模块中的 WearableService class?

为了提供一些上下文,穿戴应用请求数据(并将用户位置发送到应用服务),phone 应用接收此数据并执行 Google 地点 API 在用户位置请求获取附近的标记。然后应将这些标记传输回接收它们并显示它们的 wear 应用程序。

有人可以详细说明这个结构应该如何工作,清楚地定义要使用的实际 class 名称以及该部分流程应该位于哪个模块(应用程序或穿戴设备)中?

(我应该注意,我设法从一台设备发送一条消息到另一台设备并显示在日志中,但是它从未触发 onMessageReceived 事件,我遵循了 this tutorial - I've also seen 问题,我可以使用一些东西吗像这样(即使应用程序已关闭?)?它似乎不合适,因为我的磨损应用程序需要保证交付,因为它依赖于地图上的标记)

我还发现 this 答案非常有用,但需要有关实施的更多详细信息。

我使用本指南成功完成了我想做的事情:http://android-wear-docs.readthedocs.io/en/latest/sync.html 它解释了如何从 phone 向可穿戴设备发送消息。

然后我还使用了 Google Maps for Wear 示例应用程序来设置地图:https://github.com/googlemaps/android-samples/blob/master/AndroidWearMap/Wearable/src/main/java/com/example/androidwearmap/MainActivity.java

使用这两个指南,我将 JSON Object 转换为字符串,其中包含我需要在标记上显示的所有信息,例如标题、摘要和位置标记。然后我在 Wearable 应用程序中重组字符串并从中提取信息并将其添加到新的 MarkerOptions object(然后添加到地图)。