我正在构建一个Wear应用程序,它将与掌上电脑上的WearableListenerService进行通信.
但是,我想确保当应用程序在手表上启动时服务已启动并运行. @H_404_3@我最初的想法是发送意图或广播消息以启动服务.
但是,我一直无法弄清楚如何让手表将其发送到配对的手持设备. @H_404_3@在手表方面:
但是,我想确保当应用程序在手表上启动时服务已启动并运行. @H_404_3@我最初的想法是发送意图或广播消息以启动服务.
但是,我一直无法弄清楚如何让手表将其发送到配对的手持设备. @H_404_3@在手表方面:
Intent intent = new Intent(); intent.setAction("my.wearable.CONNECT"); sendBroadcast(intent);@H_404_3@在手持设备方面:
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>
解决方法
有几件事需要澄清
@H_404_3@> Android Wear设备和Android设备之间的通信接口如下
@H_404_3@> DataApi
> MessageApi @H_404_3@使用NodeApi获取连接的节点ID.
>您不能从磨损方发送意图并期望在手机端接收它.
>在电话方面,如果您要扩展WearableListenerService,则此服务由Android OS自行管理.这意味着,如果服务是从磨损中接收消息或数据,Android将自动创建服务,为您的请求提供服务并在需要时销毁服务.你不必在这做任何特别的事情. @H_404_3@清单中定义的意图(上面粘贴的副本)足以让Android OS完成上述服务管理.
> MessageApi @H_404_3@使用NodeApi获取连接的节点ID.
>您不能从磨损方发送意图并期望在手机端接收它.
>在电话方面,如果您要扩展WearableListenerService,则此服务由Android OS自行管理.这意味着,如果服务是从磨损中接收消息或数据,Android将自动创建服务,为您的请求提供服务并在需要时销毁服务.你不必在这做任何特别的事情. @H_404_3@清单中定义的意图(上面粘贴的副本)足以让Android OS完成上述服务管理.