android 蓝牙模块连接

    xiaoxiao2021-03-25  111

    假设你已经做好android蓝牙模块的准备工作,既已经搜索到附近其他的蓝牙设备,在尝试进行连接时会出现失败,报错。在这分享下我的心得

    首先我使用了两种连接方式,我发现这两种方式分别适合于不同场景,不能交换使用场景

    方式一

    try { Method m = device.getClass().getMethod("createRfcommSocket", new Class[]{int.class}); try { socket = (BluetoothSocket) m.invoke(device, 1); try { socket.connect(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); }通过反射机制拿到socket进行请求配对,这种方式适合于两个手机直接进行连接。 当我们通过代码创建蓝牙服务端时,上述方式并不能连接成功,就要用到

    方式二:

    socket = device.createRfcommSocketToServiceRecord(UUID.fromString("服务端的UUID")); 当使用蓝牙模块外设时,我还没有测试,刚买它还在路上,根据上述描述,简单尝试即可。
    转载请注明原文地址: https://ju.6miu.com/read-23821.html

    最新回复(0)