android - watch face service data layer api -


i got problem google android wear data layer api...

i used call handheld activities wearable activity , worked fine. want call handheld activity watchface service...

i created google api client , added wearableapi:

     public void oncreate(surfaceholder holder) {         super.oncreate(holder);          setwatchfacestyle(new watchfacestyle.builder(mywatchface.this)                 .setcardpeekmode(watchfacestyle.peek_mode_variable)                 .setbackgroundvisibility(watchfacestyle.background_visibility_interruptive)                 .setshowsystemuitime(false)                 .setacceptstapevents(true)                 .build());         mgoogleapiclient = new googleapiclient.builder(mywatchface.this)                 .addapi(wearable.api)                 .build();         mgoogleapiclient.connect(); 

then used these methods send data:

    public void startactivity()     {         hashset<string> results = new hashset<string>();          wearable.nodeapi.getconnectednodes(mgoogleapiclient).setresultcallback(new resultcallback<nodeapi.getconnectednodesresult>() {             @override             public void onresult(nodeapi.getconnectednodesresult getconnectednodesresult) {                 string handheld = getconnectednodesresult.getnodes().get(0).getid();                 toast.maketext(mywatchface.this, getconnectednodesresult.getnodes().get(0).getdisplayname()+": "+ handheld, toast.length_short).show();                 sendstartactivitymessage(handheld, givevaluexyz());              }         });  private void sendstartactivitymessage(string nodeid, string data) {         byte[] dataarray = data.getbytes();         toast.maketext(mywatchface.this, "activitypath: "+ start_activity_path, toast.length_short).show();         wearable.messageapi.sendmessage(                  mgoogleapiclient, nodeid, start_activity_path, dataarray).setresultcallback(                 new resultcallback<messageapi.sendmessageresult>() {                     @override                     public void onresult(messageapi.sendmessageresult sendmessageresult) {                         if (!sendmessageresult.getstatus().issuccess()) {                             log.e(tag, "failed send message status code: "                             + sendmessageresult.getstatus().getstatuscode());                         }                     }                  });     } 

on mobile site used code listen messages:

protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_host_main);     context = getapplicationcontext();      ...      //google api     final googleapiclient googleapiclient = new googleapiclient.builder(this)             .addapi(wearable.api).build();     googleapiclient.connect();      wearable.messageapi.addlistener(googleapiclient, this); 

...

public void onmessagereceived(messageevent messageevent) {      if (messageevent.getpath().equals(start_activity_path_weardata)) {         log.d(tag, "getpath: " + messageevent.getpath() + "|||getdata: " + messageevent.getdata());          someactions();     } 

all works fine if send message wearable activity not trigger onmessagereceived(...) methode if send message watchface service...

could there problem package names?
mobile :com.example.janik.xxx.xxx

watchface: de.watchsmart.watch_smart_watch_face_service

how client know data layer api message adressed him?


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -