Ich arbeite an Android Wear App mit Eclipse IDE.Ich benutze gleiche Paketnamen für tragen App und mobile App und ich bin tragbare App manuell nach google documentation Verpacken. Alles funktioniert gut.Es ist installiert auf Android Wear Emulator mit USB-Debugging mit Telefon.OnMessageReceived nicht in WearableListenerService aufgerufen
Mein Problem ist, wenn ich eine Nachricht sende folgenden Code verwenden, um tragbare
List<Node> nodeList=getNodes();
for(Node node : nodeList) {
Log.v(" ", "telling " + node.getId());
PendingResult<MessageApi.SendMessageResult> result = Wearable.MessageApi.sendMessage(
mGoogleApiClient,
node.getId(),
START_ACTIVITY_PATH,
null
);
result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Log.v(" ", "Phone: " + sendMessageResult.getStatus().getStatusMessage());
}
});
}
die OnPeerConnected Methode ausgeführt wird, wenn Geräte spähte sind aber OnMessageReceived nie in WearableListenerService.This genannt ist mein WearableListenerService Code:
public class DataLayerListenerService extends WearableListenerService {
private static final String TAG = "DataLayerSample";
private static final String START_ACTIVITY_PATH = "/start/MainActivity";
private static final String DATA_ITEM_RECEIVED_PATH = "/data-item-received";
private static final String LOG_TAG = "log";
@Override
public void onPeerConnected(Node peer) {
super.onPeerConnected(peer);
String id = peer.getId();
String name = peer.getDisplayName();
Log.d(LOG_TAG, "Connected peer name & ID: " + name + "|" + id);
}
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
System.out.println("Recevive message3");
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
System.out.println("service watch message1");
if (messageEvent.getPath().equals(START_ACTIVITY_PATH)) {
System.out.println("service watch message2");
Intent startIntent = new Intent(this, MainActivity.class);
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startIntent);
}
}
}
auch eine Warnmeldung in Logcat erscheint immer:
App nicht Rekord App Schlüssel passen: AppKey [com.myapp, c3f31717fa35401056c20a2798907f1232efa75e] = AppKey [com.myapp, f36e726eefc7e528db26a1c25f6fbf2f93dacd70]
Wenn App Schlüssel für beide Anwendungen gleich sein sollte dann wie kann ich gleiche App Schlüssel erstellen für beide Apps.
Jede Hilfe wird sehr geschätzt, Danke.
Was sind 'com.myphoneapp' und' com.wearableapp'? –
@Maciej. Es war versehentlich.Jetzt habe ich meinen Beitrag korrigiert. Eine "com.myapp" -Anweisung ist für Paketname des Telefons App und Sekunde ist für Wear app.Anyway danke für die Antwort. –
Kein Problem. Bitte schauen Sie sich meine Antwort unten :) –