В приложении, которое я разрабатываю, важно, чтобы износ был связан с получением определенных 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");
}
});