Wearables de Android: ¿cómo manejar el evento de un dispositivo conectado?
event-handling connection (1)
para intercambiar datos entre la aplicación portátil y la portátil, le sugiero que use Wearable.DataApi
o Wearable.MessageApi
. Probablemente desee tener una subclase de WearableListenerService
ejecutándose en ambos lados, y manejando la comunicación onDataChanged
/ onMessageReceived
. Tienen una implementación vacía en la súper clase. Entonces debes anular el que necesitas. Si usa DataApi
, tendrá que anular onDataChanged
, onMessageReceived
caso contrario.
¿Tengo que iniciarlo o se ejecuta automáticamente en segundo plano?
tienes que declarar tu subclase en el manifiesto, y usar BIND_LISTENER
como acción,
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER"/>
</intent-filter>
Android se ocupa del resto.
Desde el reloj inteligente me gustaría interceptar el evento de la conexión a un teléfono inteligente. Esto es administrado automáticamente por Android y Android Wear, así que necesito que este evento se ejecute desde mi aplicación en el reloj.
Descubrí esto en WearableAPI para ser notificado sin sondear Wearable.NodeApi.getConnectedNodes
public class MyService extends WearableListenerService {
@Override
public void onPeerConnected(Node peer) {
Log.i("my wear service", "connected");
super.onPeerConnected(peer);
// here I would use MessageAPI to send data saved on "disk" to the smartphone
}
}
¿Es el camino correcto? Entonces, ¿este es un servicio normal? ¿Tengo que iniciarlo o se ejecuta automáticamente en segundo plano? ¿Hay otras maneras de realizar esta tarea?
esta es la referencia