Я использую API уровня данных, чтобы отправлять команды с моего носимого устройства на мое портативное устройство. Это все работало нормально до сегодняшнего дня. Я ничего не изменил в своем коде, но внезапно работает только первая команда после перезапуска портативного приложения. Все последующие команды отправляются на носимый, но не принимаются на контроллере. Я прошел через все это с точками останова и дважды делал то же самое, но только в первый раз, когда он работал.
Код носимого устройства:
public void run() {
Task<List<Node>> nodeListTask = Wearable.getNodeClient(getApplicationContext()).getConnectedNodes();
try {
List<Node> nodes = Tasks.await(nodeListTask);
for (Node node : nodes) {
Task<Integer> sendMessageTask = Wearable.getMessageClient(MainActivity.this).sendMessage(node.getId(), "/wear_control", TextUtils.join(";", slices).getBytes());
Integer result = Tasks.await(sendMessageTask);
}
} catch (Exception exception) {
exception.printStackTrace();
//TODO aaaaaaaaaaaaaaaaaa
}
slices.clear();
}
Код с портативного устройства (в службе переднего плана) ):
@Override
public void onMessageReceived(MessageEvent messageEvent) {
if (messageEvent.getPath().equals("/wear_control")) {
ProcessMessage.evaluate(new String(messageEvent.getData()), this);
}
else {
super.onMessageReceived(messageEvent);
}
}
Но, как я уже сказал, я ничего не изменил в коде, но он больше не работает.
Заранее спасибо.