Android可穿戴设备:如何处理连接设备的事件?

时间:2015-07-09 08:36:16

标签: android event-handling connection wear-os android-wear-data-api

从智能手表我想拦截与智能手机连接的事件。这是由Android和Android Wear自动管理的,所以我需要从我在手表上运行的应用程序中获取此事件。

我在WearableAPI上发现了这个,无需轮询Wearable.NodeApi.getConnectedNodes就会收到通知

public class MyService extends WearableListenerService {
  @Override
  public void onPeerConnected(Node peer) {
    Log.i("my wear service", "connected");
    super.onPeerConnected(peer);
    // here I would use MessageAPI to send data saved on "disk" to the smartphone
  }
}

这是正确的方法吗?这是正常的服务吗?我必须启动它还是自动在后台运行? 还有其他方法可以执行此任务吗?

这是reference

1 个答案:

答案 0 :(得分:1)

在可穿戴设备和掌上电脑应用之间交换数据我强烈建议您使用Wearable.DataApiWearable.MessageApi。您可能希望双方都运行WearableListenerService的子类,并处理通信onDataChanged / onMessageReceived。他们在超类上有一个空的实现。所以你必须覆盖你需要的那个。如果您使用DataApi,则必须覆盖onDataChanged,否则onMessageReceived

  

我必须启动它还是自动在后台运行

您必须在清单中声明您的子类,并使用BIND_LISTENER作为操作,

<intent-filter>
   <action android:name="com.google.android.gms.wearable.BIND_LISTENER"/>
</intent-filter>

Android负责其余部分。