在没有打开Companion应用程序的情况下获取Android Wear数据

时间:2014-10-15 13:36:33

标签: android wear-os

我正尝试在Android Wear上实施自定义应用,为我们当前的应用提供一些功能。

在一个理想的用例中,我想让用户打开磨损应用程序,并让它向掌上电脑询问它已存储的当前数据。我的第一个想法是使用IntentService,但似乎我无法使用隐式Intent。此外,在阅读数据同步部分后,似乎这不是获取可穿戴设备数据的首选方式。

我已阅读了Wear文档的数据层和同步部分。在我看来,为了在手持设备和可穿戴设备之间进行数据同步,必须首先在掌上电脑上打开配套应用程序,在GoogleApiClient之间进行数据同步,磨损应用程序打开,磨损应用程序接收数据来自GoogleApiClient。

上述流程是否有效?从我的阅读来看,这似乎发生在半实时同伴应用程序和磨损应用程序同时打开。如果用户关闭手持设备上的配套应用程序,然后打开磨损应用程序,那么数据是否存在,或者仅当两个活动都处于活动状态时才会发生推送?

那么,这是否是Google对可穿戴模型的设计约束,以便配套应用必须在可穿戴设备请求之前推送数据?另外,重复我的第二个问题,伴侣应用程序可以在推送数据后关闭,而可穿戴设备在其他时间检索数据,即使配套应用程序没有运行吗?

1 个答案:

答案 0 :(得分:6)

根本不需要打开随播应用。

我有一个可穿戴应用,其中伴侣应用只是一个扩展WearableListenerService并执行所有重型网络功能的服务,并通过数据层将所有内容传递回可穿戴应用。

它没有用户界面,无法在手持设备上启动。它只是可穿戴应用的代理。它没有一个活动。

同步发生在引擎盖下,我不必担心它。我相信这是谷歌的意图。

  

在一个理想的用例中,我想让用户打开磨损应用程序,并让它向掌上电脑询问它已存储的当前数据。

在现有应用中实施WearableListenerService,它会侦听来自磨损应用的请求。在您的磨损应用onCreate中,通过数据层发送消息。继续现有应用中服务中的消息传递对话。当然,你也需要佩戴应用程序中的监听器。