Tag: rfcomm

Android:蓝牙UUID如何工作?

我不明白什么是蓝牙UUID表示。 UUID是否表示协议(例如RFCOMM )? 如果是这样,为什么createRfcommSocketToServiceRecord()方法需要UUID,当他们的名字中指定rfcomm? 为什么BluetoothChat示例代码有一个看似任意的硬编码的UUID? 我的问题出现是因为,根据这个问题 ,当运行4.0.4的设备尝试使用reflection连接(到外部的非Android设备)时,我得到空指针exception。 但是,这个问题的解决scheme不适合我。 UUID muuid = device.getUuids()[0].getUuid(); 引发了一个例外。 编辑 :我解决了这个问题,硬编码的串口服务的UUID按照这个答案 (使用UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); )。 为什么我需要提供一个UUID来使用createInsecureRfcommSocketToServiceRecord(),创build一个不安全的rfcomm套接字createInsecureRfcommSocketToServiceRecord(),但是却没有使用reflection方法createInsecureRfcommSocketToServiceRecord(),我感到更加困惑。 任何人都可以理顺我吗?

.connect()之后如何防止Android蓝牙RFCOMM连接立即死亡?

这个问题已经解决了! 非常感谢Brad,Denis和junkie! 你是英雄! 🙂 这是工作代码。 它连接到Zeemote并从中读取数据。 =====代码===== 公共类ZeeTest扩展活动{ @覆盖 public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); 的setContentView(R.layout.main); 尝试{ for(int i = 0; i <3; i ++){ testing(); } catch(Exception e){ e.printStackTrace(); } } private boolean connected = false; 私人BluetoothSocket袜子; private InputStream in; 公共无效testing()抛出exception{ 如果(连接){ 返回; } BluetoothDevice zee = BluetoothAdapter.getDefaultAdapter()。 getRemoteDevice( “00:1C:4D:02:A6:55”); 方法m = zee.getClass()。getMethod(“createRfcommSocket”, new Class […]