Android 使用可穿戴数据层API发送数据并等待回答
我有一个可穿戴设备,数据从该设备发送到一个封装在Android 使用可穿戴数据层API发送数据并等待回答,android,listener,wear-os,android-wear-data-api,Android,Listener,Wear Os,Android Wear Data Api,我有一个可穿戴设备,数据从该设备发送到一个封装在DataMap对象中的手持设备。在手持设备上,我实现了一个侦听器服务,该服务扩展了WearableListenerService,实现方式如下: public class ListenerService extends WearableListenerService { private static final String TAG = ListenerService.class.toString(); private stati
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\u LISTENER
。当手持设备准备好向可穿戴设备发送消息时,您可以使用DataApi
或MessageApi
并在另一个端点调用相应的回调,这正是我所担心的。没有其他更方便的解决办法吗?在我看来,以这种方式管理“简单”答案似乎很奇怪……如果你已经在处理两端的本地通知,你可以向可穿戴设备发送另一个通知,但我看起来真的很奇怪,因为通信是异步的,这意味着没有对你发送给可穿戴设备的任何内容的简单确认。布莱克贝尔的答案是正确的。