各位,我现在遇到这样一个问题,具体如下
1 首先通过调用BluetoothDevice的CreatBound函数,发起一个蓝牙配对请求;
2 然后我通过创建的BluetoothReceiver来监听系统派发的BluetoothDevice.pairRequest广播;直接通过硬编码将事先约定好的配对码发送给设备,从而实现了自动配对。
3 由于我将远程设备的一些数据如状态时保存在sqlite中的,所以当远程设备通过自动配对,配对的状态改变时,我会更改sqlite中该设备的状态记录
4 然而问题是,尽管我修改了sqlite的数据,但是我另一不停读取sqlite数据的线程却似乎卡住了,读不到我最新修改的状态值

解决方案 »

  1.   

    自动配对,目前我的实现思路是:
    1 首先确定设备名字,比如设备名字为"XY-1020",要求自动配对的设备都以"XY-"开头,这样不会影响到别的设备
    2 设置"XY-1020"的配对key为固定的字符串,如"123"。就是和设备设计的工程师事先沟通好
    3 手机的server端在配对监听器中,监听到了"XY-1020"的设备配对请求,执行函数 mDevice.setPin("123")将手机上的蓝牙的pinCode设为"123"使之与名字为"XY-1020"的蓝牙设备 pinCode一致,从而实现自动配对。
    我的方法不好,因为前提是限定了设备名字,不过别的方法也没有尝试过。回答比较晚,不好意思,希望对你有用。