2017-10-03 2 views
0

ich einen einfachen Dienst gemacht haben, die Nachrichten von Verschleiß erhalten sollten:WearableListenenerService onMessageReceived genannt nicht

public class serviceforwatchlock extends WearableListenerService { 

    @Override 
    public void onMessageReceived(MessageEvent messageEvent) { 
     super.onMessageReceived(messageEvent); 

     Intent intent = new Intent(this, MainActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
    } 
} 

ich geprüft, ob die onCreate Methode aufgerufen wird, und es ist in der Tat.

Auch hier ist mein Manifest:

<service 
      android:name=".serviceforwatchlock" 
      android:enabled="true" 
      android:exported="true"> 
      <intent-filter> 
       <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" /> 
       <data android:scheme="wear" android:host="*" 
        android:path="/start-activity" /> 
      </intent-filter> 
     </service> 

Nun mein Verschleiß Code:

new Thread(new Runnable() { 
      @Override 
      public void run() { 
       NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes(mApiClient).await(); 
       for(Node node : nodes.getNodes()) { 
        MessageApi.SendMessageResult result = Wearable.MessageApi.sendMessage(
          mApiClient, node.getId(), "/start_activity", "lockscreenGTP".getBytes()).await(); 
       } 
      } 
     }).start(); 

Die onMessageReceived Methode aufgerufen nicht und ich nicht auch jede Fehlermeldung. Was mache ich falsch?

Antwort

0

Basierend auf dieser thread ist ein möglicher Grund, warum Sie darauf stoßen, dass Ihre Apps mit den verschiedenen Schlüsseln signiert sind. Paketnamen von Telefon- und Wearable-Apps sind identisch und sie müssen dieselbe Signatur verwenden. Bitte stellen Sie sicher, dass Sie beide Apps mit demselben Schlüssel signiert haben. Es wird auch in dieser thread vorgeschlagen, zu überprüfen, ob applicationId das gleiche war.

+0

Es ist keine Release-Version, daher ist die Anwendung nicht mit einem Schlüssel signiert. Ich habe auch bestätigt, dass das Paket das gleiche ist. – Tomhawk

Verwandte Themen