我有一个可穿戴设备,数据从该可穿戴设备发送到包裹在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对其进行了声明。当掌上电脑准备好向可穿戴设备发送消息后,您可以使用DataApiMessageApi,并且将在另一个端点上调用相应的回调

10-08 06:11