Android Wear:在Handheld上启动服务

时间:2014-10-30 14:53:39

标签: android wear-os

我正在构建一个Wear应用程序,它将与掌上电脑上的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>

1 个答案:

答案 0 :(得分:4)

有几件事需要清除

  1. Android Wear设备和Android设备之间的通信接口如下

    • DataApi
    • MessageApi

    使用NodeApi获取已连接的节点ID。

  2. 您不能从磨损方发送意图并希望在手机端接收它。

  3. 在电话方面,如果您要延长WearableListenerService,则此服务由Android操作系统自行管理。这意味着,如果服务是从磨损中接收消息或数据,Android将自动创建服务,为您的请求提供服务并在需要时销毁服务。你不必在这做任何特别的事情。

        

  4. 清单中定义的意图(上面粘贴的副本) 足以让Android OS完成上述服务管理。