我正在构建一个Wear应用程序,它将与掌上电脑上的WearableListenerService进行通信.但是,我想确保当应用程序在手表上启动时服务已启动并正在运行.
我最初的想法是发送意图或广播消息以启动服务.但是,我一直无法弄清楚如何让手表将其发送到配对的手持设备.
在手表方面:
Intent intent = new Intent();
intent.setAction("my.wearable.CONNECT");
sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)
在手持设备方面:
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>
Run Code Online (Sandbox Code Playgroud)
有几件事需要澄清
Android Wear设备与Android Device之间的通信接口如下
使用NodeApi获取连接的Node ID。
您无法从佩戴端发送意图并期望在手机端接收它。
在手机方面,如果您要扩展WearableListenerService,则该服务由 Android 操作系统自行管理。这意味着,如果服务要从 Wear 接收消息或数据,Android 将自动创建服务、服务您的请求并在需要时销毁服务。您不必在这里做任何特殊的事情。
清单中定义的意图(上面复制粘贴)足以让 Android 操作系统执行上述服务管理。
| 归档时间: |
|
| 查看次数: |
1942 次 |
| 最近记录: |