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

2023-11-24

我正在编写一个Android BLE应用程序,我正在尝试获取某个特性的权限。我已经设法使用characteristic.getProperties()获取特征属性,并且它返回一个非零值,但是,当我使用getPermission()方法时,它返回0,即使我确信该特征具有PERMISSION_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 并在 Samsung Galaxy Note 3 上测试我的程序。

我很感激任何帮助。


这看起来像是底层框架的问题。这个链接显示框架在发现远程设备上的服务/特征时执行的代码块。新的什么时候可以看到BluetoothGattCharacteristic创建后,权限参数始终作为0.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 低功耗蓝牙:characteristic.getPermissions() 返回 0? 的相关文章

随机推荐

  • RecyclerView 概念如何在 Android 上运行?

    我使用 RecyclerView 和 CardView 从网站上获取教程创建了一个基本应用程序 应用程序工作正常 但我有一些困惑 我在这里展示我的整个代码 令人困惑的是代码如何一步一步地工作 所以请澄清我对此的概念 我的应用程序的基本结构
  • CakePHP - 如何使用 slug 进行反向路由?

    我正在使用 CakePHP 1 3 我有一个产品模型 在数据库表上有id and slug fields 如果我有一个产品id 37 and slug My Product Title我希望产品的 URL 为 产品 37 我的产品标题 而不
  • Javascript 中的套接字服务器(在浏览器中)?

    我希望允许用户在我正在开发的多人游戏中玩 p2p 但为了能够做到这一点 javascript 需要能够在浏览器中创建套接字服务器 这可能吗 我不知道有什么 API 可以让客户端在 javascript 中连接到其他客户端 还有其他办法吗 喜
  • 如何在eclipse本地安装jdt.core?

    我需要在本地安装 eclipse JDT Core 插件 例如使用 site xml 等下载文件 而不是由于工作中可怕的防火墙而远程安装它 谁能建议在哪里下载它以便我可以进行本地安装 谢谢 我假设您正在使用 Aptana 就像 VonC 所
  • 如何在 Eclipse 中添加 XML 可绘制对象

    好吧 伙计们 我在这里有点堆积 根据官方文档 Google 表示 一旦您在 XML 中定义了 Drawable 请将文件保存在项目的 res drawable 目录中 是将 XML 可绘制对象添加到项目中的方法 但是当我创建项目时 ADT
  • 与/外键引用映射多对多关系

    对于精通 EF 用户来说 这应该是一个简单的问题 我 在我的脑海中 有以下表之间关系的模式 FooBar Foo Bar FooId PK FK Id PK Id PK BarId PK FK BarId FK Name IsRead Na
  • decltype( constexpr 变量)

    为什么 constexpr 变量的 decltype 失败 include
  • 跨平台 Xamarin Forms 的 UserControl

    我已经寻找了很长时间 但仍然没有找到一种方法来为跨平台 Xamarin Forms 创建像 UserControls 这样的 WPF 这还可以吗 我将 Xamarin 与 Visual Studio 2013 结合使用 这是一个 XAML
  • Emacs,如何更改 M-x shell 中的某些颜色?

    我使用 Emacs 24 并希望在 shell 模式下更改目录和文件的颜色 ls命令 理想情况下 取决于文件的权限 我怎样才能做到这一点 我尝试玩 setq ansi color names vector black red green y
  • 如何比较 SQL Server 中的日期时间与仅日期

    Select from User U where U DateCreated 2014 02 07 但在数据库中创建了用户2014 02 07 12 30 47 220当我只放 2014 02 07 它不显示任何数据 不要试图做这样的事情
  • 为什么 boost::is_same::value 等于 false?

    我正在努力通过 C 模板元编程 作者 Abrahams 和 Gurtovoy 这实际上并不在第二章中 而是我在第一个练习 2 10 2 0 中尝试过的 这让我感到困惑 include
  • 如何在awk中跳过目录?

    假设我有以下文件和目录结构 tree a b dir c 1 directory 3 files 也就是两个文件a and b与目录一起dir 其中另一个文件c stands 我想处理所有文件awk GNU Awk 4 1 1 确切地说 所
  • 如何检测我的程序可用的堆栈空间量?

    我的 Win32 C 应用程序充当 RPC 服务器 它具有一组用于处理请求的函数 并且 RPC 运行时创建一个单独的线程并调用该线程中的一个函数 在我的函数中 我有一个 std auto ptr 用于控制编译时已知大小的堆分配的 char
  • 正在初始化颤动。这可能需要几分钟的时间

    第一篇文章 抱歉 新手帖子 我已经在 Google 和 StackOverFlow 上进行了搜索 以解决 VSCode 上的上述查询 但没有任何人可以帮助解决此错误 我将非常感激 它只是不断加载以下消息 正在初始化 Flutter 这可能需
  • 为函数体内的 dplyr 参数提供多组变量

    这是数据 library tidyverse data lt tibble tribble var1 var2 var3 var4 var5 a d g hello 1L a d h hello 2L b e h k 4L b e h k
  • SELECT MAX(... 在 PHP/MYSQL 中不返回任何内容

    这是表结构 Table test PAGE CONTENT 1 ABC 2 DEF 3 GHI PAGE是具有数据类型的主节点INT 11 它不会自动递增 CONTENT 的数据类型TEXT 在 PHP 中我做 result mysql q
  • 如何防止数据成员被序列化

    我只想反序列化某个数据成员 而不对其进行序列化 我知道我可以设置 EmitDefaultValue false 并将该值设置为 null 但我也不想更改数据成员的值 还有其他方法可以实现此目的吗 序列化器是 DataContractSeri
  • 通过 Masters 的脚本控制台在所有 Jenkins 从机上运行远程命令

    我想运行相同的 shell 命令 非常简单的 shell 命令 例如ls 在所有 UNIX 从站上 通过使用主站的脚本控制台连接到主站 我如何使用 groovy 来做到这一点 想做这样的事情 显示有关节点的信息但我不想显示信息 而是想在每个
  • 在 sweetalert2 内容中使用 vue 组件

    我有几个简单的甜蜜警报2a 中的情态动词Vue项目 我想在警报中使用自定义组件 例如
  • Android 低功耗蓝牙:characteristic.getPermissions() 返回 0?

    我正在编写一个Android BLE应用程序 我正在尝试获取某个特性的权限 我已经设法使用characteristic getProperties 获取特征属性 并且它返回一个非零值 但是 当我使用getPermission 方法时 它返回