gpt4 book ai didi

java - Android 低功耗蓝牙 : characteristic. getPermissions() 返回 0?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:00 26 4
gpt4 key购买 nike

我正在编写一个 Android BLE 应用程序,我正在尝试获取某个特性的权限。我已经设法使用 characteristic.getProperties() 获取特征属性,它返回一个非零值,但是,当我使用 getPermission() 方法时它返回 0,即使我确定该特征具有 PE​​RMISSION_WRITE_ENCRYPTED_MITM (0x00000040 ).

这是一段代码

    // properties
int properties = ch.getProperties();
DebugWrapper.infoMsg("properties: " + properties, TAG); //returns non-zero value

// permissions
int permissions = ch.getPermissions();
DebugWrapper.infoMsg("permissions: " + permissions, TAG); //returns zero value

我做错了什么吗?是否有特定的方法来获取特性的权限,或者这是 android api 的问题?

我正在使用 API 19 并在三星 Galaxy Note 3 上测试我的程序。

感谢任何帮助。

最佳答案

这看起来像是底层框架的问题。 This link显示在远程设备上发现服务/特征时框架执行的代码块。您可以看到当创建新的 BluetoothGattCharacteristic 时,permissions 参数始终作为 0 传入。

此外,即使稍后读取特性,也只会更新特性的值,不会重置对象的其他参数。

相反,Android 似乎试图在 trial and error 上处理身份验证/权限问题。基础。换句话说,该框架总是尝试基本的读/写,如果由于身份验证原因失败,它会自动再次尝试请求 MITM 身份验证。

关于java - Android 低功耗蓝牙 : characteristic. getPermissions() 返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23674668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com