我正在开发一款与手持设备上的WearableListenerService通信的穿戴应用。但是,当应用在智能手表上启动时,我希望确保该服务已经启动并运行。
我的初步想法是发送一个意图或广播消息来启动服务。然而,我无法弄清楚如何让智能手表将其发送到配对的手持设备。
在智能手表端:
Intent intent = new Intent();
intent.setAction("my.wearable.CONNECT");
sendBroadcast(intent);
在手持设备方面:
public class WearableBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, WearableService.class);
context.startService(startServiceIntent);
}
}
<receiver android:name=".service.wearable.WearableBroadcastReceiver" >
<intent-filter>
<action android:name="my.wearable.CONNECT" />
</intent-filter>
</receiver>
WearableListenerService
并且即使应用程序已经死亡,该服务可以完成一些操作,这很棒,但是如果手持应用程序不活跃,它就无法向我的可穿戴设备发送任何内容。当手腕应用程序打开时,我会向手持设备发送消息,然后通过DataApi
将我的 API 响应发送到可穿戴设备,但在可穿戴设备上没有显示出来。在WearableListenerService
中,我等待GoogleApiClient
连接,然后将数据发送到可穿戴设备。这是正确的方式吗?简单来说,我要求手持设备进行请求,然后从服务中将其发送回去。 - Jonas Borggren