我刚刚开始为我的掌上电脑应用程序开发Android Wear配套应用程序。我一直在浏览开发人员文档,我希望从掌上电脑获取数据以查看可穿戴设备。我希望使用实现DataApi.DataListener
的侦听器活动来从手持设备获取数据,如下所示:Handling Data Layer Events。就我而言,可穿戴设备只能从掌上电脑获取数据,而不是相反。正如标题 With WearableListenerService :
...您可以拥有一个设置和获取数据项对象的手持设备应用程序以及一个可穿戴应用程序,用于侦听这些更新以更新其UI。可穿戴设备永远不会更新任何数据项,因此掌上电脑应用程序不会侦听来自可穿戴应用程序的任何数据事件。
掌上电脑不需要监听来自可穿戴设备的数据事件,那么我将使用什么样的服务来获取和设置掌上电脑上的数据以便在可穿戴设备上接收?我希望能够随时从掌上电脑获取数据,即使手持设备应用程序已关闭,以及设备是否已锁定。该数据将是我将从服务器获得的数据,以及可能的用户位置数据。我还希望能够在打开可穿戴应用程序时(或按下按钮时)更新此数据。那么我还需要在掌上电脑上实现一个监听器服务,只是为了获得有关可穿戴应用程序何时打开的信息?
答案 0 :(得分:1)
是的,你需要。无论手持式应用程序是否正在运行,您都无法请求"来自可穿戴设备的任何东西,除非(1)你从你的可穿戴设备发送某种消息给它以让它知道你期待一些数据,或者(2)手持设备自己定期发送数据没有被问到。第二种方法并不好,因为你不想经常发生这种数据传输(即使在后台通过服务);这会严重伤害你的手机和电池。对于第一种方法,手持式应用程序应该有一个监听器,以便它可以了解手表的传入消息。如果您的手持设备只有在前台运行并且正在运行时才需要响应这些请求,那么您只需在活动中注册DataListener即可。但是,如果您希望能够响应此类请求,即使您的应用程序不在前面或者甚至没有运行,您也需要在掌上电脑应用程序中安装WearableListenerService,以便框架可以唤醒您的应用程序并通过消息给它。