目前开发蓝牙,尝试与安卓12系统进行配对。
现象:
第一次配对完成,获取到的安卓的地址devAddr是一个public address的mac地址,并手动将其加入了定向广播白名单GAPROLE_ADV_DIRECT_ADDR中。
当配对完成后,断开并重新连接时,安卓无法连接到该定向广播。
此时将定向广播改为非定向广播,重新建立连接后,发现此时安卓使用的mac地址变成了一个rpa地址,type 3类型,因为该地址不在白名单中,导致的无法连接
将该地址重新加入到定向广播白名单,再断开并尝试重新连接,就可以重连了。
请教如何解决这个问题,目前我有一下几个思路
1、第一次链接后,计算出下次安卓要用的rpa地址(这可能吗?不确定)
2、不使用定向广播,使用非定向广播+采用白名单制来解析RPA,让对方先链接上再判断是否允许链接(正常的蓝牙音响这种东西是这么做的吗?不确定)
当然如果有其他更合理的方案请给出,谢谢!