0

我正在努力使蓝牙聊天示例与远程服务而不是本地服务一起工作(供以后使用)。

但是当我尝试使用用于显示发送和接收消息的处理程序时,会发生错误,我不知道如何修复:

mHandler.obtainMessage(RemoteServiceClient.MESSAGE_WRITE, -1, -1, buffer).sendToTarget();

这一行向 Handler 发送了一些信息,包括消息代码 (MESSAGE_WRITE) 和我想要显示的缓冲区 (buffer) 的内容。

但是当我在应用程序中发送消息时,它崩溃并且日志显示 nullPointerException,我猜这对应于缺少getTarget

我的问题是:在原始示例中,没有 getTarget (如在我的应用程序中),但 sendToTarget 工作得很好。如何解释它以及如何使它在我的应用程序中工作?

4

1 回答 1

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);

我想知道这种用法是否正确。请告诉我是否不是

于 2013-06-04T09:41:29.637 回答