android - 使用可穿戴数据层 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 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 并且将在另一个端点上调用相应的回调

关于android - 使用可穿戴数据层 API 发送数据并等待答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30477449/

相关文章:

Python 与 UDP 监听器重叠计时器

android - AsyncTask 上的触发事件已完成

android - 在磨损服务中调用 blockingConnect 时出现 IllegalStateException

安卓磨损启动器

android - float 操作按钮变形

java - 在字符串中查找被 "["和 "]"包围的单词 :

android - 在 Android 中使用 OpenSSL 的 AES-256 CBC 加密/解密字符串

java - SQLite 减少 for 循环时间

android - 如何在类里面成为一个普通的听众

java - Android Wear修改 "Open on Phone"按钮intent