【问题标题】:Getting Data To Android Wear Without Opening Companion App在不打开配套应用程序的情况下获取数据到 Android Wear
【发布时间】:2014-10-15 13:36:32
【问题描述】:

我正在尝试通过在 Android Wear 上实现一个自定义应用来为我们当前的应用产品添加一些功能。

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

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

上述流程有效吗?从我的阅读来看,这似乎是半实时发生的,其中配套应用程序和穿戴应用程序同时打开。如果用户关闭手持设备上的配套应用程序,然后再打开穿戴应用程序,数据会在那里,还是只有在两个活动都处于活动状态时才会进行推送?

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

【问题讨论】:

    标签: android wear-os


    【解决方案1】:

    根本不需要打开配套应用。

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

    它没有 UI,也不能在手持设备上启动。它只是可穿戴应用程序的代理。它没有一个 Activity。

    同步发生在幕后,我不必担心。我相信这是 Google 的意图。

    在一个理想的用例中,我希望用户打开穿戴式应用程序并让其向手持设备询问它存储的当前数据。

    在您现有的应用中实现WearableListenerService,它将侦听来自穿戴应用的请求。在您的穿戴应用程序onCreate 中通过数据层发送消息。在现有应用程序的服务中继续消息对话。当然,您还需要在 Wear 应用程序中安装一个监听器。

    【讨论】:

    • 我假设 WearableListenerService 与常规服务(android.app.Service;它继承自它)完全一样,因为它需要在清单中以相同的方式声明。什么处理启动服务?我需要启动一个意图来启动它还是只使用数据层的东西并让 Google 处理魔法?
    • 看看这个:android-wear-docs.readthedocs.org/en/latest/sync.html 这对我帮助很大。 AFAIK,您无需担心启动服务,似乎对我“正常工作”:)
    • WearableListenerService 会在 Google Play 服务需要时自动启动。你只需声明它就可以了。查看 SDK 中包含的一些示例,例如 DataLayer 或 FindMyPhone。 FindMyPhone 没有 UI,可以检测手机和可穿戴设备之间的断开连接。
    • @AdamShort Android Wear 会知道什么时候启动它,它负责运行它,所以你不必担心
    • 我设法通过添加所有可用的 here 然后一次删除一个直到我剩下最低限度来完成这项工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多