2014-11-29 2 views
1

пожалуйста, помогите. У меня есть два WearableListenerServices. Первый по телефону и второй на часах. если я отправляю данные активов от износа для телефона, например:Два WearableListenerService. Как отправить запрос только на другое устройство?

PutDataMapRequest dataMap = PutDataMapRequest.create(AUDIO_PATH); 
     dataMap.getDataMap().putAsset(REC_AUDIO_KEY, asset); 
     dataMap.getDataMap().putLong(TIME, new Date().getTime()); 
     dataMap.getDataMap().putString(NAME, name); 
     PutDataRequest request = dataMap.asPutDataRequest(); 
     Wearable.DataApi.putDataItem(mGoogleApiClient, request).setResultCallback(new ResultCallback<DataApi.DataItemResult>() { 
      @Override 
      public void onResult(DataApi.DataItemResult dataItemResult)   { 
        if (!dataItemResult.getStatus().isSuccess()) { 
         failRecord(); 
        }else{ 
         successRecord(true); 
        } 
      } 
     }); 

Я ожидаю, что результат будет с телефона, но на самом деле ответ вернулся из себя. Проблема в том, что на часах был выполнен метод onDataChanged ранее, чем на телефоне. Как отправить запрос только на другое устройство?

Спасибо.

ответ

0

У вас перекрестный контроль пути (AUDIO_PATH)? Он должен быть таким же в onDataChanged из wearableListenerService, который находится в телефоне, и не должен быть таким же в onDataChanged из wearableListenerService, который находится в Wear.

В вашем вопросе вы уже упоминали, что вам нужно отправить запрос только на одну сторону, тогда вам не нужно будет реализовывать onDataChangedMethod в стороне отправки.

+0

У меня есть функция отправки с телефона на часы, а также функция отправки с телефона на часы. Поэтому на обоих устройствах реализован WearableListenerService. – user486312

+0

Пожалуйста, приложите полный код .. – Anees

Смежные вопросы