Я хочу передать Asset из своего приложения в его приложение для ношения.Android app app - методы блокировки в потоке пользовательского интерфейса
Пример кода можно найти здесь: https://developer.android.com/training/wearables/data-layer/assets.html
Однако, я вижу 2 способа блокировки называют, и кажется, что они сделаны в основном потоке:
ConnectionResult result =
mGoogleApiClient.blockingConnect(TIMEOUT_MS, TimeUnit.MILLISECONDS);
И
InputStream assetInputStream = Wearable.DataApi.getFdForAsset(
mGoogleApiClient, asset).await().getInputStream();
Можно ли назвать эти методы в потоке пользовательского интерфейса? Или я должен переместить этот кусок кода в фоновый поток?
Спасибо за ваш комментарий. На самом деле я не получаю сбой при вызове wait(), и я убедился, что работает в потоке пользовательского интерфейса. Кроме того, мне очень странно, что google опубликует такой пример кода и не упоминает, что требуется работа с потоками. – dors
Вы уверены, что вы говорите также верно для кода, работающего на устройствах Wear? – dors
Во многих случаях вы извлекали активы в свой [WearableListenerService] (http://developer.android.com/reference/com/google/android/gms/wearable/WearableListenerService.html), который использует все свои методы (в том числе метод onDataChanged() в примере) уже на фоновом потоке. – ianhanniballake