Android示例蓝牙代码可通过蓝牙发送简单的字符串

我想通过蓝牙将一个简单的字符串数据(例如“ a”)从android设备发送到其他设备。我在android sdk中查看了示例蓝牙代码,但这对我来说太复杂了。按下按钮时,我无法理解如何仅发送特定数据。我怎么解决这个问题?



暮色呼如
浏览 1011回答 2
2回答

牧羊人nacy

private OutputStream outputStream;private InputStream inStream;private void init() throws IOException {&nbsp; &nbsp; BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter();&nbsp; &nbsp; if (blueAdapter != null) {&nbsp; &nbsp; &nbsp; &nbsp; if (blueAdapter.isEnabled()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set<BluetoothDevice> bondedDevices = blueAdapter.getBondedDevices();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(bondedDevices.size() > 0) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Object[] devices = (Object []) bondedDevices.toArray();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BluetoothDevice device = (BluetoothDevice) devices[position];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ParcelUuid[] uuids = device.getUuids();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; socket.connect();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; outputStream = socket.getOutputStream();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inStream = socket.getInputStream();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Log.e("error", "No appropriate paired devices.");&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Log.e("error", "Bluetooth is disabled.");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}public void write(String s) throws IOException {&nbsp; &nbsp; outputStream.write(s.getBytes());}public void run() {&nbsp; &nbsp; final int BUFFER_SIZE = 1024;&nbsp; &nbsp; byte[] buffer = new byte[BUFFER_SIZE];&nbsp; &nbsp; int bytes = 0;&nbsp; &nbsp; int b = BUFFER_SIZE;&nbsp; &nbsp; while (true) {&nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bytes = inStream.read(buffer, bytes, BUFFER_SIZE - bytes);&nbsp; &nbsp; &nbsp; &nbsp; } catch (IOException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android