Android Wear MessageAPI-can';不能在UI线程上发送消息
我正在按照android wear文档从一台设备向另一台设备发送消息() 但我认为示例中存在一些错误,因为send message方法抛出了一个非法状态异常,并显示以下消息:wait不能在UI线程上调用Android Wear MessageAPI-can';不能在UI线程上发送消息,android,multithreading,wear-os,android-wear-data-api,Android,Multithreading,Wear Os,Android Wear Data Api,我正在按照android wear文档从一台设备向另一台设备发送消息() 但我认为示例中存在一些错误,因为send message方法抛出了一个非法状态异常,并显示以下消息:wait不能在UI线程上调用 如何修复它?使用.setResultCallback()而不是调用.wait()。例如 result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() { @Overrid
如何修复它?使用
.setResultCallback()
而不是调用.wait()
。例如
result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Log.v(TAG, "Sent message");
}
});
result.setResultCallback(新的ResultCallback(){
@凌驾
public void onResult(MessageApi.SendMessageResult SendMessageResult){
Log.v(标记“已发送消息”);
}
});
您不能这样做,因为await()
会阻塞线程
您希望使用异步线程来执行此操作,例如使用异步任务
,如Google Play Services文档中建议的:
是的,应该对文档进行更新,以说明如何对Wear Api执行相同的操作。谢谢,我没有想到这一点!