Wear OS - Подтвердите, что узел подключен и получает сообщения - PullRequest
0 голосов
/ 24 января 2020

В приложении, которое я разрабатываю, важно, чтобы износ был связан с получением определенных c сообщений. Кажется, я не могу найти способ проверить, подключен ли указанный c носимый.

Несмотря на то, что мой носимый получает сообщения, событие журнала в этом методе никогда не срабатывает:

private void checkIfWearableIsConnected() {
    NodeClient nodeClient = Wearable.getNodeClient(getActivity());
    Task<List<Node>> wearableList = nodeClient.getConnectedNodes();

    try {

        List<Node> nodes = Tasks.await(wearableList);
        for (Node node : nodes) {
            Log.d(TAG, "node = " + node.getDisplayName());
        }

    } catch (Exception exception) {
        Toast.makeText(getActivity(),exception.getMessage(),Toast.LENGTH_LONG);
    }

}

Что касается приема сообщений, этот код работает, но я не могу подтвердить, что dataItem совпадает с тем, который я отправил. Я могу получить getUri (), но это должно совпадать с тем, что меняющиеся данные меняются, но не URI. Как я могу сравнить данные? Могу ли я получить одно из сообщений, отправленных мной из dataItem?

putDataTask.addOnSuccessListener(new OnSuccessListener<DataItem>() {
        @Override
        public void onSuccess(DataItem dataItem) {
            //raise event on success
            Log.d(TAG, "onSuccess");
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.d(TAG, "onFailure");
        }
    });
...