WearableListenerService onMessageReceived no se llama al dispositivo
Estoy tratando de enviar un mensaje simple de mi aplicación de desgaste de Android a mi aplicación de teléfono usando el Wearable.MessageApi
.
Esta es mi devolución de llamada onConnected
de GoogleApiClient en el dispositivo de desgaste.
- La aplicación de Android Wear falla con FATAL EXCEPTION: IntentService
- Cómo detectar si el dispositivo android está emparejado con reloj de desgaste android
- Androide-desgaste que encaja el desgaste viejo (en caché) apk en el lanzamiento móvil apk
- ¿Será esto posible con Android sdk usable
- Cómo solicitar permisos de un servicio en Android Marshmallow
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()); } } });
Y esto es mostrar lo siguiente cuando se ejecuta
Sending message: Nexus 6P sent: true
Y este es mi servicio registrado en mi aplicación:
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(); } }
Verifiqué correctamente que el tostado Peer connected
está apareciendo cuando el emulador está conectado a mi dispositivo. Hice correctamente el reenvío de puerto para depurar el emulador de desgaste. Comprobé que mis nombres de aplicación y de paquete son consistentes en mi aplicación y usan la aplicación. Sin embargo, nunca obtengo la devolución de llamada onMessageReceived
en mi dispositivo.
¡Cualquier sugerencia es bienvenida! He estado depurando esto por un día entero ahora 🙁
- Android Wear: Sólo la mira "Simple" está funcionando, todas las otras negras
- WearableListenerService sólo se inicia después de instalar la aplicación - entonces nunca más
- Cómo configurar la altura del elemento WearableListView
- La imagen no está centrada en ActionPage en el dispositivo de desgaste androide 320x320
- Cuadro de diálogo Timepicker en Android Wear: ¿El material timepicker es demasiado grande?
- Problema con Google Fit API en Android Wear
- GoogleApiClient falla para Android Wear El API requiere actualización pero ya estoy actualizado
- Android Wear ¿Cuánto tiempo permanecen las entradas de DataMap?
Oh, buen dios. Me di cuenta de mi problema. Pensé que el applicationId era el mismo, pero resultó que nunca he creado sabores de construcción en el módulo de desgaste, por lo que las dos aplicaciones fueron realmente com.example.android
y com.example.android.dev
..
Espero que esto ayude a otras personas que se encontraron con el mismo problema que yo: \