首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在getName()上,BluetoothDevice始终返回null

在getName()上,BluetoothDevice始终返回null是因为该方法在Android 6.0及以上版本中已被弃用。在这些版本中,BluetoothDevice类的getName()方法已被替换为getName()方法。getName()方法返回的是设备的友好名称,而不是设备的蓝牙名称。

如果需要获取设备的友好名称,可以使用BluetoothDevice类的getName()方法。以下是对该方法的详细说明:

概念:

BluetoothDevice类是Android中用于表示蓝牙设备的类。它提供了与蓝牙设备交互的方法和属性。

分类:

BluetoothDevice类属于Android的蓝牙API,用于与蓝牙设备进行通信。

优势:

BluetoothDevice类提供了许多方法来管理蓝牙设备的连接和通信。它可以用于开发各种蓝牙相关的应用程序,如蓝牙耳机控制、蓝牙数据传输等。

应用场景:

  1. 蓝牙耳机控制:通过BluetoothDevice类可以连接到蓝牙耳机,并控制音量、播放/暂停等功能。
  2. 蓝牙数据传输:通过BluetoothDevice类可以与其他蓝牙设备进行数据传输,如发送文件、接收传感器数据等。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云提供了丰富的云计算服务和解决方案,但在这里不能提及具体的产品和链接地址。您可以访问腾讯云官方网站,了解他们的云计算产品和服务。

总结:

在Android 6.0及以上版本中,BluetoothDevice类的getName()方法已被弃用,应使用getName()方法来获取设备的友好名称。BluetoothDevice类是Android的蓝牙API,用于与蓝牙设备进行通信。它提供了各种方法来管理蓝牙设备的连接和通信。腾讯云提供了丰富的云计算服务和解决方案,可以根据具体需求选择适合的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

React 16 中从 setState 返回 null 的妙用

概述 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setState 更来新状态。调用 .setState 时返回 null 将不再触发更新。...React 16 对状态性能进行了改进,如果新的状态值与其现有值相同的话,通过 setState 中返回 null 来防止来触发更新。 ?...解决方案 以下是我们将要遵循的步骤,来防止不必要的重新渲染: 检查新的状态值是否与现有值相同 如果值相同,我们将返回 null 返回 null 将不会更新状态和触发组件重新渲染 首先, app 组件的...没有从 setState 返回 null ? 从 setState 返回 null 之后 注意:我在这里换了一个深色主题,以便更容易观察到 React DOM 中的更新。...总结 本文介绍了 React 16 中怎样从 setState 返回 null。我在下面的 CodeSandbox 中添加了 mocktail 选择程序的完整代码,供你使用和 fork。

14.5K20

Android蓝牙聊天开源项目

理论,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备蓝牙通讯功能的设备, 可以两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起呼叫。...(BluetoothDevice.EXTRA_DEVICE); if (bluetoothDevice == null) { return; } if (!...只有连接被接收或发生异常的情况下,该方法才返回。只有发送连接请求的远程设备所携带的UUID跟监听服务套接字所注册的一个UUID匹配的时候,该连接才被接收。...在这个调用中,为了找到匹配的UUID,系统会在远程的设备执行一个SDP查询。如果查询成功,并且远程设备接收了该连接请求,那么它会在连接期间共享使用RFCOMM通道,并且connect()方法会返回。...连接之前应该始终调用这个方法,并且不用实际的检查蓝牙发现处理是否正在运行也是安全的(如果想要检查,调用isDiscovering()方法)。

1.3K10
  • 我没能实现始终一个线程运行 task

    如何识别当前代码跑什么线程 一切开始之前,我们先来使用一种简单的方式来识别当前代码运行在哪种线程。 最简单的方式就是打印当前线程名称和线程ID来识别。...因此,我们需要一种方式来确保我们的代码同一个线程运行。 那么接下来我们分析一些想法和效果。 加配!加配!加配! 我们已经知道了,实际,常驻任务不能稳定触发是因为 Task 会在线程池中运行。...但是,如果你想要让 Thread 稳定的同一个线程运行,那么你需要考虑使用同步重载的方法。通过同步重载方法,我们的代码将不会出现线程切换到线程池的情况。自然也就实现了我们的目的。...但实际,这段代码会死锁。 因为,我们的 MyScheduler 中,我们一个死循环中,不断的从队列中取出任务并执行。但是,我们的任务中,又会调用 Wait 方法。...因此,其实实际我们需要在 Wait 的时候通知当前线程,此时线程被 Block 了,然后转而从队列中取出任务执行。 Task 于 ThreadPool 的配合中,是存在这样的机制的。

    47810

    我没能实现始终一个线程运行 task

    我没能实现始终一个线程运行 task 前文我们总结了使用常驻任务实现常驻线程时,应该注意的事项。但是我们最终没有提到如何在处理对于带有异步代码的办法。本篇将接受笔者对于该内容的总结。...如何识别当前代码跑什么线程​ 一切开始之前,我们先来使用一种简单的方式来识别当前代码运行在哪种线程。 最简单的方式就是打印当前线程名称和线程ID来识别。...因此,我们需要一种方式来确保我们的代码同一个线程运行。 那么接下来我们分析一些想法和效果。 加配!加配!加配!​ 我们已经知道了,实际,常驻任务不能稳定触发是因为 Task 会在线程池中运行。...但是,如果你想要让 Thread 稳定的同一个线程运行,那么你需要考虑使用同步重载的方法。通过同步重载方法,我们的代码将不会出现线程切换到线程池的情况。自然也就实现了我们的目的。...但实际,这段代码会死锁。 因为,我们的 MyScheduler 中,我们一个死循环中,不断的从队列中取出任务并执行。但是,我们的任务中,又会调用 Wait 方法。

    9110

    我没能实现始终一个线程运行 task

    如何识别当前代码跑什么线程 一切开始之前,我们先来使用一种简单的方式来识别当前代码运行在哪种线程。 最简单的方式就是打印当前线程名称和线程ID来识别。...因此,我们需要一种方式来确保我们的代码同一个线程运行。 那么接下来我们分析一些想法和效果。 加配!加配!加配! 我们已经知道了,实际,常驻任务不能稳定触发是因为 Task 会在线程池中运行。...但是,如果你想要让 Thread 稳定的同一个线程运行,那么你需要考虑使用同步重载的方法。通过同步重载方法,我们的代码将不会出现线程切换到线程池的情况。自然也就实现了我们的目的。...但实际,这段代码会死锁。 因为,我们的 MyScheduler 中,我们一个死循环中,不断的从队列中取出任务并执行。但是,我们的任务中,又会调用 Wait 方法。...因此,其实实际我们需要在 Wait 的时候通知当前线程,此时线程被 Block 了,然后转而从队列中取出任务执行。 Task 于 ThreadPool 的配合中,是存在这样的机制的。

    19530

    Android开发笔记(一百六十二)蓝牙设备的连接与配对

    不过因为搜索动作是个异步的过程,startDiscovery方法并不直接返回搜索发现的设备结果,而是通过广播BluetoothDevice.ACTION_FOUND返回新发现的蓝牙设备。...下面是BluetoothDevice类的常用方法说明: getName : 获取设备的名称。 getAddress : 获取设备的MAC地址。 getBondState : 获取设备的绑定状态。...只有用户两部手机都选择了“配对”按钮,才算是双方正式搭配好了。...由于配对请求需要在界面上手工确认,因此配对结果只能通过异步机制返回,此处的结果返回仍然采取广播形式,即系统会发出广播BluetoothDevice.ACTION_BOND_STATE_CHANGED通知...() == BluetoothDevice.BOND_BONDED) { tv_discovery.setText("完成配对" + device.getName

    3.2K10

    Android4.42-Setting源码分析之蓝牙模块Bluetooth(下)

    接着上一篇   Android4.42-Settings源码分析之蓝牙模块Bluetooth() 继续蓝牙模块源码的研究 THREE,蓝牙模块功能实现 switch的分析以及本机蓝牙重命名和可见性的分析见一篇...,若不存在就返回null CachedBluetoothDevice cachedDevice = mDeviceManager.findDevice(device);...); //获取到远程设备后检测是否缓存列表中,若有就返回设备,若没有返回null CachedBluetoothDevice cachedDevice...如果没有配对,就进行配对 配对程序如下,进行配对时首先检查远程设备是否正在配对,如果是,就返回true,如果没有配对就现将本机的蓝牙配对状态设为true表示正在配对,紧接着停止蓝牙的扫描操作,与远程设备进行配对...获取蓝牙名称:BluetoothAdapter----getName(). 开启可检测性:BluetoothAdapter----setScanMode(BluetoothAdapter.

    92730

    Android 蓝牙操作详解

    BluetoothAdapter.getDefaultAdapter();               String address = bt.getAddress();               String name = bt.getName...蓝牙套接字连接时阻塞调用,只连接成功或者连接设备发生异常时才会返回。BluetoothConnection一经实例化,就会创建到其他设备的连接,并开始监听来自连接设备的数据。...public void run() {                     // TODO Auto-generated method stub                     // 始终取消发现...                    // 建立到BluetoothSocket的连接                     try {                          // 这是一个阻塞调用,只成功连接或者异常时返回...这个实例通过调用蓝牙适配器的listenUsingRfcommWithServiceRecord()方法获得。有了这个实例我们可以通过start()方法开始监听来自远程设备的入站请求。

    1.6K90
    领券