首页 文章

Android BLE如何才能劫持OS配对过程

提问于
浏览
0

我正在使用BLE设备,它需要在配对期间设置设备时间 . 在任何其他时间写入时间特征不能有效地设定时间 .

目前我正在使用Android OS的蓝牙管理器进行配对 . 配对的进度通过广播意图通知我的应用程序 .

public void onReceive(Context context, Intent intent) {
    ....
    switch (action) {
    case BluetoothDevice.ACTION_BOND_STATE_CHANGED: 
        if(state == BluetoothDevice.BOND_BONDED){
            //Write to the Date-Time Characteristic
        }
        else if(state==BluetoothDevice.BOND_BONDING){
        }
        else if(state==BluetoothDevice.BONE_NONE){
        }
     ....
     }
     ...
    }

我的问题是如何将代码注入上面评论的位置以完成日期时间设置?显然,Android OS蓝牙管理器在整个配对过程中没有设置时间 . Android是否允许两个应用程序(OS蓝牙管理器和我的应用程序)在单个连接会话中写入远程gatt?

1 回答

  • 1

    您可能无法在配对过程中写入数据时间,即特征(如果您不需要配对,则应该没问题) . 原因是你可能先得到服务并获得特色处理然后写出来,这可能不会在配对的同时发生;它取决于您的远程设备的安全级别设置 .

    我的问题是如何将代码注入上面评论的位置以完成日期时间设置?

    您可以注册广播接收器以接收绑定事件 .

    Android是否允许两个应用程序(OS蓝牙管理器和我的应用程序)在单个连接会话中写入远程gatt?

    当然,因为你使用相同的BluetoothAdapter :-)

相关问题