Android蓝牙UUID连接APP到ANDROID

2024-03-19

我正在构建一个 Android 应用程序,用于跟踪设备上的蓝牙连接,并在超出范围时触发警报。

Android 文档要求提供 UUID 才能建立连接。

“uuid”是用于唯一标识信息的字符串 ID 的通用唯一标识符 (UUID) 标准化 128 位格式。它用于唯一标识您的应用程序的蓝牙服务。

 public ConnectThread(BluetoothDevice device) {
    // Use a temporary object that is later assigned to mmSocket,
    // because mmSocket is final
    BluetoothSocket tmp = null;
    mmDevice = device;

    // Get a BluetoothSocket to connect with the given BluetoothDevice
    try {
        // MY_UUID is the app's UUID string, also used by the server code
        tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
    } catch (IOException e) { }
    mmSocket = tmp;
}

我没有在两台设备上安装应用程序,所以我无法设置自己的 UUID,我想使用 android 的 UUID...但我在任何地方的文档中都找不到这个。

也许我没有正确处理这个问题。任何帮助将不胜感激。 提前致谢


您可以从蓝牙设备获取UUID

    mmDevice = device;

    // Get a BluetoothSocket to connect with the given BluetoothDevice. This code below show how to do it and handle the case that the UUID from the device is not found and trying a default UUID.

    // Default UUID
    private UUID DEFAULT_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 

    try {
        // Use the UUID of the device that discovered // TODO Maybe need extra device object
        if (mmDevice != null)
        {
            Log.i(TAG, "Device Name: " + mmDevice.getName());
            Log.i(TAG, "Device UUID: " + mmDevice.getUuids()[0].getUuid());
            tmp = device.createRfcommSocketToServiceRecord(mmDevice.getUuids()[0].getUuid());

        }
        else Log.d(TAG, "Device is null.");
    }
    catch (NullPointerException e)
    {
        Log.d(TAG, " UUID from device is null, Using Default UUID, Device name: " + device.getName());
        try {
            tmp = device.createRfcommSocketToServiceRecord(DEFAULT_UUID);
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
    catch (IOException e) { }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android蓝牙UUID连接APP到ANDROID 的相关文章

随机推荐

  • spring 上下文中的测试套件

    是否可以使用加载的 spring 上下文运行测试套件 如下所示 RunWith Suite class SuiteClasses Test1 class Test2 class ContextConfiguration locations
  • 如何让文本区域自动扩展到最大高度?

    我正在学习CSS 我有一个包含灵活文本区域的 div 现在我希望当用户在textarea中输入多行内容时 textarea和外层div自动扩展高度 并且当textarea超过3行时 停止扩展并滚动textarea 我应该如何编写 CSS 渲
  • 在 JShell 上执行时相同语句的不同行为

    我正在研究一个问题来存储两个类的引用 例如 class A B b A B b this b b class B A a B A a this a a public static void main String s A a new A n
  • EF 6,代码第一个联结表名称

    我正在 EF 6 中尝试自定义命名约定 我有 2 个表和 1 个联结表 WebUser UserRequest WebUser UserRequest 我编写了应该能够重命名表的函数 从 WebUser 到 web user private
  • 无法在 Felix config.properties 中将 PAX-URL 的程序集协议与自动启动的捆绑包一起使用

    我正在尝试使用 PAX URL 这样我就可以即时组装未打包的捆绑包 如果我将 pax url assembly 1 2 1 jar 放入自动启动包中 然后键入 安装程序集 路径 到 我的 文件夹 一切正常 问题是 我想使用 gt felix
  • 如何在闪亮中创建登录页面?

    目标是拥有一个闪亮的模块ui1 R加载第二个模块ui2 R当按钮confirm被点击 我认为问题是is null input confirm 总是无效的 我需要的是仅使表达式无效一次confirm被点击 这个问题非常接近输入密码后启动Shi
  • 为什么我的温莎城堡控制器工厂的 GetControllerInstance() 被调用为空值?

    我正在使用温莎城堡来管理控制器实例 除其他外 我的控制器工厂如下所示 public class WindsorControllerFactory DefaultControllerFactory private WindsorContain
  • 在 iPhone 重启时启动 iOS BLE Central 应用程序

    我计划使用 CoreBluetooth 框架开发一个 iOS 应用程序 该应用程序可以连续监控计步器外围设备并计算脚步数 我知道 如果后台执行模式设置为 BLE Central 应用程序即使在后台也将继续接收 BLE 事件 Apple 文档
  • SQL存储过程检查表中的值是/否并执行sql

    检查table1中value是否 Y 然后立即执行sql select if select value1 from table1 where value desc Indicator and value1 Y then execute im
  • Elasticsearch 连接超时

    from datetime import datetime from elasticsearch import Elasticsearch es Elasticsearch doc author kimchy text Elasticsea
  • 如何从 TinyDB 数据库中检索单个值?

    我正在学习如何在 Python 上使用 TinyDB 并且我已经掌握了基础知识 添加 删除 更新等 但现在我正在尝试从数据库中检索特定值 我正在使用的代码在这个方法中 def showpassword show userdb get whe
  • 在 Go 中模拟 HTTPS 响应

    我正在尝试为向 Web 服务发出请求的包编写测试 我遇到问题可能是由于我对 TLS 缺乏了解 目前我的测试看起来像这样 func TestSimple server httptest NewServer http HandlerFunc f
  • 原则 2 中的动态表/实体名称

    我希望有人能够阐明我的代码发生了什么 我需要一个实体来表示通用表 作为具有 X id 后缀的表的模型 例如 我有一个实体 CustomerX 我需要查询的表是 cusotmer 1 customer 2 customer 3 等 我目前正在
  • select unique * 查询有多贵

    在sql server 2012中 我有一个包含超过2500万行且有重复项的表 该表没有唯一索引 它只有一个非聚集索引 我想消除重复项 所以我想到了以下内容 select distinct into temp table from prim
  • Angular CLI 在 ng 服务上偶尔会冻结计算机

    我有问题ng serve 当我在我的 Angular 项目上运行它时 大约 10 的时间 它会在此过程中冻结 并且整个计算机也会冻结 有时它会在一段时间 从20秒到120秒 后解冻并成功编译 有时我需要手动关闭计算机电源 我已经在 2 台计
  • 在 CSS 中应该使用 rgba(0, 0, 0, 0) 还是 rgba(255, 255, 255, 0) 来实现透明度?

    你应该使用rgba 0 0 0 0 or rgba 255 255 255 0 CSS 的透明度 各自的优点和缺点是什么 最后一个参数为rgba 函数是 alpha 或 opacity 参数 如果您将其设置为0它将意味着 完全透明 前三个参
  • 将datagridview导出到word文档c#

    我正在尝试将数据网格导出到Word文档 但不是这个结果 EmployeeID EmployeeName Birth Phone Address DateOfHiring Salary EmloyeeType 1 name 1 11 test
  • Mandrill 通过 Laravel / PHP 入站电子邮件

    我想知道是否有人可以帮助我解决我在研究 Laravel 和通过 Mandrill 入站电子邮件处理相关问题时遇到的一些问题 基本上我希望能够通过 Mandrill 接收电子邮件并将它们存储在我的 Laravel 数据库中 现在我不确定我是否
  • 将闪亮的小部件显示与特定的导航栏 tabPanel() 选择连接起来

    我有一个闪亮的仪表板 其中有一个导航栏页面 其中包含两个 tabPanel Summary and Available Funds Then Available Funds 由一个tabsetPanel 有两个选项卡面板 Plot and
  • Android蓝牙UUID连接APP到ANDROID

    我正在构建一个 Android 应用程序 用于跟踪设备上的蓝牙连接 并在超出范围时触发警报 Android 文档要求提供 UUID 才能建立连接 uuid 是用于唯一标识信息的字符串 ID 的通用唯一标识符 UUID 标准化 128 位格式