WearableListenerService onMessageReceived не вызывается на устройстве
Я пытаюсь отправить простое сообщение из моего приложения Android Wear в телефон, используяWearable.MessageApi
.
Это моеonConnected
обратный вызов из GoogleApiClient на устройстве Wear.
final PendingResult<Status> status = Wearable.DataApi.addListener(googleApiClient, this);
status.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (!status.isSuccess()) {
return;
}
NodeApi.GetConnectedNodesResult nodes =
Wearable.NodeApi.getConnectedNodes(googleApiClient).await();
for (Node node : nodes.getNodes()) {
System.out.println("Sending message: " + node.getDisplayName());
final MessageApi.SendMessageResult result =
Wearable.MessageApi.sendMessage(googleApiClient, node.getId(),
"request", "12345".getBytes())
.await();
System.out.println("sent: " + result.getStatus().isSuccess());
}
}
});
И это показывает следующее при запуске
Sending message: Nexus 6P
sent: true
И это мой зарегистрированный сервис в моем приложении:
public class MyWearableListenerService extends WearableListenerService {
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Toast.makeText(this, "Received message", Toast.LENGTH_LONG).show();
}
@Override
public void onPeerConnected(Node peer) {
Toast.makeText(this, "Peer connected", Toast.LENGTH_LONG).show();
}
}
Я правильно проверил, чтоPeer connected
Тост появляется, когда эмулятор подключен к моему устройству. Я правильно сделал переадресацию портов для отладки на эмуляторе износа. Я проверил, что мой applicationId и имена пакетов совпадают во всем приложении. Тем не менее, я никогда не получаюonMessageReceived
обратный звонок на моем устройстве.
Любые предложения с благодарностью! Я отлаживал это целый день :(