我正在努力使BlueTooth Chat Sample使用远程服务而不是本地服务(供以后使用)。
但是当我尝试使用Handler(用于显示已发送和已接收的消息)时,会发生错误,我不知道如何修复:
mHandler.obtainMessage(RemoteServiceClient.MESSAGE_WRITE, -1, -1, buffer).sendToTarget();
该行向Handler发送一些信息,包括消息代码(MESSAGE_WRITE)和我想要显示的缓冲区(缓冲区)的内容。
但是当我在应用程序中发送消息时,它崩溃并且日志显示nullPointerException,我想这与缺少getTarget相对应。
我的问题是:在原始示例中,没有getTarget(在我的应用程序中),但sendToTarget工作正常。如何解释以及如何在我的应用程序中使其工作?
答案 0 :(得分:1)
我使用dispatchMessage
修正了问题:
messageToMainService.what = VALUES_FROM_THREAD;
messageData.putParcelable("pgnParcelable", pgnListParcelable);
messageData.putParcelable("currentLocation", myLocation);
messageData.putLong("timerBoucle", ellapseTime + timeToSleep);
//messageData.putWhateverYouWant
messageToMainService.setData(messageData);
mHandler.dispatchMessage(messageToMainService);
我想知道这种用法是否正确。请告诉我它是否不是