我正在使用BLE设备,需要在配对期间设置设备时间。在任何其他时间写入时间特征不能有效地设定时间。
目前,我正在使用Android操作系统的蓝牙管理器进行配对。配对的进度通过广播意图通知我的应用程序。
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?
答案 0 :(得分:1)
您可能无法在配对过程中编写数据时间即特征(如果您不需要配对,那么应该没问题)。原因是你可能首先获得服务并获得特色处理然后写它,这可能不会在配对的同时发生;这取决于您的远程设备的安全级别设置。
我的问题是如何将代码注入上面评论的位置以完成日期时间设置?
您可以注册广播接收器以接收绑定事件。
Android是否允许两个应用程序(操作系统蓝牙管理器和我的应用程序)在单个连接会话中写入远程gatt?
当然,因为您使用的是同一个BluetoothAdapter: - )