在 Android 中成功建立蓝牙连接

2023-12-24

我对 Android 中建立 BT 连接的两种方法感到困惑。

从我记事起,这就是我所做的事情,它从 2.3+ 设备到早期的 4.x 都有效。这是什么Android 文档描述 http://developer.android.com/reference/android/bluetooth/BluetoothSocket.html以及。

private static final UUID sppUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
bluetoothSocket = bluetoothDevice.createRfcommSocketToServiceRecord(sppUUID);
bluetoothSocket.connect();

这在一些较新的 Android 设备(运行 4.4 的 Nexus 7)上不再起作用,Cyanogenmod 的结果如下(或类似):

java.io.IOException: read failed, socket might closed or timeout, read ret: -1

经过一番折腾之后——其中大部分都是如此!——我发现这很有效

Method m = bluetoothDevice.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
bluetoothSocket = (BluetoothSocket) m.invoke(bluetoothDevice, 1);
bluetoothSocket.connect();

这是从哪里来的?为什么这个方法比其他方法更有效?

谢谢


None

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

在 Android 中成功建立蓝牙连接 的相关文章

随机推荐

  • ListView 中的复选框

    我希望填充一个列表视图 其中包含复选框作为 Android 应用程序中的列表项 我已经实现了一个列表视图 但是如果我选中列表中的任何一个复选框 它会检查列表视图中的其他一些列表 提前致谢 对于自定义布局
  • 根据 C# 中的条件从 JSON 中删除元素

    我有一个 JSON 字符串 我希望能够在 C 中修改它 我希望能够根据其中一个子值是某个值时删除一组数据 采取以下 responseHeader status 0 QTime 0 params explainOther fl score i
  • Ubuntu 16.04 正式支持 SCHED_DEADLINE 吗?

    目前我运行的是 Ubuntu 16 04 Linux 内核版本为 4 16 我编写了一个虚拟程序 将其调度程序更改为 SCHED DEADLINE 但是当我尝试编译它时 它找不到 SCHED DEADLINE 所需的结构和宏的定义 大部分代
  • Java 抽象类:为派生类返回“this”指针

    我正在尝试使用辅助方法编写一些自定义异常来设置变量 如下所示 public class KeyException extends RuntimeException protected String Id protected KeyExcep
  • 将 security=none 应用于上下文根和静态资源:spring security 版本 3.1

    我的应用程序编译为 ROOT war 这基本上意味着我没有除 之外的上下文根 有些页面需要保护 然而有些 URL 不需要它 例如我的http localhost 8080 com http localhost 8080 给出该应用程序的主页
  • 使用 php 处理 Jquery Ajax 表单提交

    最近 我在尝试使用 Jquery 和 Ajax 提交表单时一直在与它们作斗争 我有一个非常简单的表单 其中包含用户名字段和密码字段以及提交按钮 该表单应该做的是 一旦提交表单 信息将通过 Ajax 发送到 php 文件 然后该文件将所述表单
  • 停止更新*无效反应输入

    我正在寻找停止的方法update Input使我的 Shiny 应用程序中的无功值无效的函数 我希望更新函数仅更改可视 UI 组件 而不更改底层反应值 这是一个代表 library shiny ui lt fluidPage sliderI
  • 如何在 Midnight Commander 中过滤目录

    也许是一个愚蠢的问题 但如何在 Midnight Commander 中过滤目录 例如 我有一个包含很多目录的文件夹 其命名如下 holidays 2016 birthdays 2016 holidays 2015 我怎样才能过滤像 201
  • 绘制平滑曲线 - 所需方法

    如何在移动时平滑 iOS 绘图应用程序中的一组点 我尝试过 UIBezierpaths 但当我只是将点 1 2 3 4 2 3 4 5 移动时 我得到的只是它们相交处的锯齿状末端 我听说过样条曲线和所有其他类型 我对 iPhone 编程很陌
  • ConfigurationManager.GetSection(sectionName) 在执行单元测试时返回 null

    我有一个自己的单元测试项目app config文件 它是由正在测试的目标项目定义的真实配置文件的模拟 该模拟文件由单元测试代码 而不是目标项目 加载和处理 如果我仅在这一个测试项目中运行测试 则它可以正常工作 ConfigurationMa
  • WCF:更新服务参考提供重复的配置条目

    我有一个使用 WCF 服务的服务引用的 WPF 应用程序 在对服务进行更新时 我需要更新服务引用 因此我右键单击它并点击 更新服务引用 执行此操作会导致客户端项目的 App config 文件中出现重复条目 它复制了下面的绑定wsHttpB
  • 在SVN Trunk中完全禁用Django的CSRF保护

    我沮丧地花了几个小时 试图禁用 Django 现在试图强加给我的 CSRF 但没有成功 还有其他人尝试过更成功吗 我对任何有效的东西都很好 除了源补丁 但猴子补丁还可以 不要这样做 但如果你必须的话 try this http johnmc
  • NativeActivity 活动的父活动类型

    有什么方法可以从 NativeActivity 中查看其父 Activity 的类型Execute http msdn microsoft com en us library dd781091 aspx方法 是的 您可以执行以下代码块 它将
  • 带有请求的“单击”按钮

    我有一个小网站 我想用请求库填写表格 问题是我在填写表单数据并点击按钮时无法到达下一个站点 Enter 不起作用 重要的是我无法通过某种点击机器人来做到这一点 需要完成此操作 以便我可以在没有图形的情况下运行 info name JohnJ
  • Scrapy如何避免重新下载最近下载的媒体?

    根据https doc scrapy org en latest topics media pipeline html https doc scrapy org en latest topics media pipeline html Sc
  • C++中基类对象和派生类对象的大小

    include
  • .htaccess、Wordpress 和个性 URL

    我一直在研究我能在 WordPress 中的 htaccess 和虚荣 url 上找到的每个 Stack Overflow 主题 但我完全不明白为什么我的主题不起作用 我对 htaccess 完全是个菜鸟 所以我确信这与它有很大关系 我正在
  • Python:使用 chroot 和 chjail 保护不受信任的脚本/子进程?

    我正在编写一个基于 Python 的 Web 服务器 它应该能够执行 插件 以便可以轻松扩展功能 为此 我考虑了一种方法 即拥有多个文件夹 每个插件一个 和多个 shell python 脚本 其中以可能发生的不同事件的预定义名称命名 一个
  • c - “writev”中“iovcnt”参数允许的最大值?

    我读过手册页writev并发现错误部分指出 EINVAL 向量计数iovcnt小于零或大于允许的最大值 但我怎样才能得到最大值呢 PS 在我的操作系统 Ubuntu 14 04 x64 上它似乎是1024 我通过以下代码检查它 includ
  • 在 Android 中成功建立蓝牙连接

    我对 Android 中建立 BT 连接的两种方法感到困惑 从我记事起 这就是我所做的事情 它从 2 3 设备到早期的 4 x 都有效 这是什么Android 文档描述 http developer android com referenc