我按照android服装文档将消息从一个设备发送到另一个设备(https://developer.android.com/training/wearables/data-layer/messages.html)
但我认为示例中有一些错误,因为send消息方法抛出IllegalStateException并带有以下消息: await不能在UI线程上调用
我该如何解决?
答案 0 :(得分:5)
使用.await()
而不是调用.setResultCallback()
。例如,......
result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Log.v(TAG, "Sent message");
}
});
答案 1 :(得分:1)
你不能这样做,因为await()
阻止线程。
您希望使用异步线程执行此操作,例如使用AsyncTask
,如 Google Play服务文档中所述:https://developer.android.com/google/auth/api-client.html#Sync
是的,文档应该更新,以便为Wear Api做同样的事情。