我有一个可穿戴设备,数据从该可穿戴设备发送到包裹在DataMap
对象中的手持设备。在手持设备上,我实现了监听器服务,该服务扩展了以这种方式实现的WearableListenerService
:
public class ListenerService extends WearableListenerService {
private static final String TAG = ListenerService.class.toString();
private static final String WEARABLE_DATA_PATH = "/wearable_data";
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
DataMap dataMap;
for (DataEvent event : dataEvents) {
if (event.getType() == DataEvent.TYPE_CHANGED) {
String path = event.getDataItem().getUri().getPath();
if (path.equals(WEARABLE_DATA_PATH)) {
dataMap = DataMapItem.fromDataItem(event.getDataItem()).getDataMap();
messageReceived(dataMap);
}
}
}
}
private void messageReceived(DataMap dataMap) {
Log.v(TAG, "DataMap received on handheld device: " + dataMap);
}
}
从可穿戴设备到手持设备的传输均完美无缺。但是,我需要从掌上电脑向可穿戴设备发送一个答案,例如“ ok done”或“ error xxx”。我怎样才能做到这一点?
最佳答案
它的工作方式相同。您的可穿戴式应用程序上需要WearableListenerService
的子类,并在AndroidManifest.xml中使用操作com.google.android.gms.wearable.BIND_LISTENER
对其进行了声明。当掌上电脑准备好向可穿戴设备发送消息后,您可以使用DataApi
或MessageApi
,并且将在另一个端点上调用相应的回调