我们在从远程BLE设备读取特征时遇到了一个问题。
此问题发生在Android 5.0及以上版本。
以下是生成问题的要点:
制作一个具有一个服务和一个特征的外围设备。
该特征仅具有读取权限。现在将该特征的值设置为超过20个字符,即20字节。
现在让外围设备广播自己一个服务和一个特征。
现在从市场上启动任何BLE扫描应用程序并连接到此外围设备。
一旦成功连接到外围设备,请尝试读取特征。
在这种情况下,它不会显示任何数据,并且在调试应用程序时,它会显示返回空数据。
在Android 5.0及以上版本中,上述相同的情况不起作用。
在Android 4.4中,相同的情况有效。
因此,在Android 5.0及以上版本中存在某些更改,内部禁用了可以读取包含超过20个字符的数据的readblob()请求。
此问题发生在Android 5.0及以上版本。
以下是生成问题的要点:
制作一个具有一个服务和一个特征的外围设备。
该特征仅具有读取权限。现在将该特征的值设置为超过20个字符,即20字节。
现在让外围设备广播自己一个服务和一个特征。
现在从市场上启动任何BLE扫描应用程序并连接到此外围设备。
一旦成功连接到外围设备,请尝试读取特征。
在这种情况下,它不会显示任何数据,并且在调试应用程序时,它会显示返回空数据。
在Android 5.0及以上版本中,上述相同的情况不起作用。
在Android 4.4中,相同的情况有效。
因此,在Android 5.0及以上版本中存在某些更改,内部禁用了可以读取包含超过20个字符的数据的readblob()请求。