Обучающий модуль для Android Bluetooth для неблокирующей связи

Я ищу код примера bluetooth на Android, чтобы сделать неблокирующую связь сокетов.

Я нашел несколько примеров, таких как BluetoothChat или BluetoothSocket.java, но ни одна из них non-blocking socket communication. является non-blocking socket communication.

Ps неблокирует автоматически означает, что это должно быть асинхронным? Я думаю, что на самом деле нет – это не одно и то же, я полагаю, что я мог бы выполнять синхронную сотовую связь с таймаутом. Вот такой пример, который я ищу …

большое спасибо

Solutions Collecting From Web of "Обучающий модуль для Android Bluetooth для неблокирующей связи"

Похоже, ответ в значительной степени невозможен.

Однако с небольшим количеством манекенов, ваша система может работать так, как вы хотите

  BluetoothSocketListener bsl = new BluetoothSocketListener(socket, handler, messageText); Thread messageListener = new Thread(bsl); messageListener.start(); 

Система сообщений

  private class MessagePoster implements Runnable { private TextView textView; private String message; public MessagePoster(TextView textView, String message) { this.textView = textView; this.message = message; } public void run() { textView.setText(message); } } 

Прослушиватель сокетов

 private class BluetoothSocketListener implements Runnable { private BluetoothSocket socket; private TextView textView; private Handler handler; public BluetoothSocketListener(BluetoothSocket socket, Handler handler, TextView textView) { this.socket = socket; this.textView = textView; this.handler = handler; } public void run() { int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; try { InputStream instream = socket.getInputStream(); int bytesRead = -1; String message = ""; while (true) { message = ""; bytesRead = instream.read(buffer); if (bytesRead != -1) { while ((bytesRead==bufferSize)&&(buffer[bufferSize-1] != 0)) { message = message + new String(buffer, 0, bytesRead); bytesRead = instream.read(buffer); } message = message + new String(buffer, 0, bytesRead - 1); handler.post(new MessagePoster(textView, message)); socket.getInputStream(); } } } catch (IOException e) { Log.d("BLUETOOTH_COMMS", e.getMessage()); } } }