WearableListenerService onMessageReceived não é chamado no dispositivo
Estou tentando enviar uma mensagem simples do meu aplicativo Android wear para o meu aplicativo de telefone usando oWearable.MessageApi
.
Este é meuonConnected
retorno de chamada do GoogleApiClient no dispositivo 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());
}
}
});
E isso está exibindo o seguinte quando executado
Sending message: Nexus 6P
sent: true
E este é o meu serviço registrado no meu aplicativo:
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();
}
}
Eu verifiquei corretamente que oPeer connected
O brinde aparece quando o emulador está conectado ao meu dispositivo. Eu fiz corretamente o encaminhamento de porta para depurar no emulador de desgaste. Eu verifiquei se os nomes dos meus applicationId e pacote são consistentes em todo o aplicativo No entanto, nunca recebo oonMessageReceived
retorno de chamada no meu dispositivo.
Todas as sugestões são muito apreciadas! Estou depurando isso há um dia inteiro agora :(