我开发了两个实现GATT角色的应用程序:服务器和客户端。 就我而言,GATT服务器也是GAP外围设备,GATT客户端是GAP中心。
我可以将客户端连接到服务器/从服务器断开连接,但是当我尝试在客户端连接到服务器时停止广告时,我发现了一些问题。在这种情况下,连接断开。
我无法理解。如果连接了两台设备,服务器不需要传输广告包以保持连接...这很奇怪。
我使用的是SDK版本23
答案 0 :(得分:0)
根据BLE规范允许以下内容:处于连接状态的设备可以同时具有主从角色。主设备和从设备可能有多个连接。唯一的限制如下:两个BLE设备同时不能同时为主设备和从设备 两个BLE设备一次只能有一个连接。
虽然BLE规范规定了这些规则,但设备中的BLE芯片限制了连接数量和同时发生的其他BLE事件的数量。如果您在BLE上看到意外行为,我建议您尝试使用具有不同BLE芯片的不同设备进行同样的操作。
建立连接后,保持连接活动的是较低层的任务。您无需使用API执行任何操作。如果设备连接,则连接可能不稳定,以防根据芯片的能力同时进行通告。
答案 1 :(得分:0)
在 SELECT *
FROM table
WHERE date_colunm
between (
CASE
WHEN DAYOFWEEK(curdate()) > 4
THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
ELSE (
CASE
WHEN DAYOFWEEK(curdate()) < 4
THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
ELSE curdate()
END
)
END
) as date
AND DATE_ADD (
(
CASE
WHEN DAYOFWEEK(curdate()) > 4
THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
ELSE (
CASE
WHEN DAYOFWEEK(curdate()) < 4
THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
ELSE curdate()
END
)
END
) as date, INTERVAL 6 DAY
)
收到STATE_CONNECTED
之后,在停止投放广告之前,请运行GattServerCallback
告诉傻瓜Android“嘿,我想让这个连接保持活力!”!