次のコードがあり、\n を受け取るまで、受信したバイトを文字列に保存しようとしています。
byte[] buffer = new byte[1024];
int bytes;
String ReceivedMessage = null;
while (true) {
try
{
// Read from the InputStream
bytes = mmInStream.read(buffer);
ReceivedMessage = ReceivedMessage + getString(bytes);
// Send the obtained bytes to the UI Activity
if(ReceivedMessage.endsWith("\\n")) {
String StringToReturn = ReceivedMessage.replace("\\n","");
Message msg = mHandler.obtainMessage(AbstractActivity.MESSAGE_READ);
Bundle bundle = new Bundle();
bundle.putString("Message", StringToReturn);
msg.setData(bundle);
mHandler.sendMessage(msg);
//mHandler.obtainMessage(AbstractActivity.MESSAGE_READ, bytes, -1, buffer)
// .sendToTarget();
}
} catch (IOException e) {
e.printStackTrace();
connectionLost();
BluetoothService.this.stop();
break;
}
ReceivedMessage = ReceivedMessage + getString(bytes);
問題は、より正確には でクラッシュしていることですgetString(bytes)
修正するのを手伝ってもらえますか?
ありがとう!