`
javayestome
  • 浏览: 1040911 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android蓝牙API之BluetoothAdapter类(2)

阅读更多

从Android 2.0开始提供最全面的蓝牙开发接口,API Level为5的系统才能调用,目前Android Bluetooth API包含了主要以下几类:BluetoothAdapter
BluetoothDevice、BluetoothSocket 、BluetoothServerSocket 和BluetoothClass 它们均在android.bluetooth这个包中出现。

我们调用时除了需要考虑API Level至少为5外,还需注意添加相应的权限,比如使用通讯需要在androidmanifest.xml加入<uses-permission android:name="android.permission.BLUETOOTH" />,而开关蓝牙需要android.permission.BLUETOOTH_ADMIN权限。

三、建立通讯 establishing

对于建立一个蓝牙通讯,必须经过以下四个步骤:获取本地蓝牙设备、查找远程设备、配对(已配对设备将会忽略这步的细节)、连接设备和传输数据.

在Android平台中首先我们需要查找本地活动的蓝牙适配器,通过BluetoothAdapter类的getDefaultAdapter() 方法获得一个系统默认可用的蓝牙设备,示例代码如下

BluetoothAdapter cwjBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (cwjBluetoothAdapter == null) {
// Android开发网提示大家本机没有找到蓝牙硬件或驱动存在问题
}

当然有了这步仍然不能建立连接,因为我们还不知道手机中的蓝牙功能是否被开启,可以通过cwjBluetoothAdapter的.isEnabled方法来判断,如果没有开启,我们可以通过下面的代码提醒用户启用:

if (!cwjBluetoothAdapter.isEnabled()) {
Intent TurnOnBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(TurnOnBtIntent, REQUEST_ENABLE_BT);
}
这时用户会收到类似下面的窗口:

我们通过startActivityForResult()方法发起的Intent将会在onActivityResult()回调方法中获取用户的选择,比如用户单击了Yes开启,那么将会收到RESULT_OK 的结果,如果RESULT_CANCELED则代表用户不愿意开启蓝牙,当然android123提醒大家还可以通过其他方式来开启,比如说用BluetoothDevice获取蓝牙服务接口对象,是用enable()方法来开启,无需询问用户,这时就需要用到android.permission.BLUETOOTH_ADMIN权限。

如何判断系统蓝牙的状态呢? 建立BroadcastReceiver对象,接收ACTION_STATE_CHANGED动作,在EXTRA_STATE和EXTRA_PREVIOUS_STATE包含了现在状态和过去的状态,最终的结果定义是STATE_TURNING_ON正在开启, STATE_ON已经开启, STATE_TURNING_OFF正在关闭和 STATE_OFF已经关闭,如果有什么不明白的可以在我们的论坛中交流。

分享到:
评论

相关推荐

    Android中蓝牙的基本使用----BluetoothAdapter类简介

    在Android系统中,蓝牙功能是通过蓝牙适配器(BluetoothAdapter)类来实现的,它提供了与设备上的蓝牙硬件交互的接口。本文将详细介绍BluetoothAdapter类及其在Android中蓝牙基本使用的方法。 首先,理解...

    android 蓝牙API整理

    总结来说,Android蓝牙API提供了一套全面的工具,使开发者能够构建各种类型的蓝牙应用,包括但不限于文件传输、健康监测设备的控制、游戏同步等。理解并熟练运用这些API,开发者可以充分利用蓝牙技术,实现设备间的...

    Android 蓝牙API详解

    **Android蓝牙API详解** 在Android平台上,蓝牙技术是设备间通信的重要途径,广泛应用于数据传输、设备配对、物联网(IoT)等场景。Android提供了丰富的蓝牙API,使得开发者能够轻松实现蓝牙功能,包括经典蓝牙...

    Android蓝牙,配对,搜索,连接,通信,断开的Demo

    本项目"Android蓝牙,配对,搜索,连接,通信,断开的Demo"是一个使用Kotlin编写的Android应用示例,它涵盖了蓝牙功能的基本操作,包括设备的搜索、配对、取消配对、连接、数据传输以及断开连接等核心环节。...

    Android 蓝牙开发,蓝牙连打印机

    首先,理解Android蓝牙API是基础。Android提供了BluetoothAdapter类,它是系统蓝牙服务的主要接口,用于查找、配对和管理蓝牙设备。开发者需要通过BluetoothAdapter.getDefaultAdapter()获取系统的默认蓝牙适配器,...

    Android蓝牙广播通信

    Android提供了一个名为BluetoothAdapter的类,它是Android蓝牙功能的主要入口点。通过这个类,我们可以检查蓝牙是否开启,扫描附近的蓝牙设备,并建立连接。当我们要监听蓝牙设备的状态变化时,就需要用到广播通信。...

    android蓝牙通信技术文档

    Android 蓝牙 API 中的主要类有: * BluetoothAdapter 类:代表了一个本地的蓝牙适配器。 * BluetoothDevice 类:代表了一个远端的蓝牙设备。 * BluetoothSocket 类:代表了一个蓝牙套接字的接口。 * ...

    android 蓝牙SPP传输demo

    2. **Android蓝牙API**: - Android提供了`BluetoothAdapter`类来管理蓝牙适配器,用于检测蓝牙是否开启、查找设备等。 - `BluetoothDevice`类代表一个蓝牙设备,用于获取设备信息、建立连接等操作。 - `...

    android蓝牙聊天源代码

    "android蓝牙聊天源代码"项目提供了一个很好的实例,帮助开发者了解如何在Android应用程序中实现蓝牙聊天功能。以下将详细介绍这个项目的相关知识点: 1. **Android Bluetooth API**: Android提供了`...

    Android蓝牙设备之间通过UUID通信

    首先,我们要了解Android中的蓝牙API。Android提供了`BluetoothAdapter`,`BluetoothDevice`,`BluetoothServerSocket`和`BluetoothSocket`等类来处理蓝牙连接。`BluetoothAdapter`是系统的蓝牙适配器,可以用来开启...

    Android蓝牙开发客户端代码

    首先,我们需要理解蓝牙技术的基本概念,然后我们将详细讨论Android蓝牙开发客户端的实现步骤。 蓝牙是一种短距离无线通信技术,允许电子设备之间进行数据交换。在Android中,蓝牙功能主要通过`BluetoothAdapter`、...

    Android实时检测蓝牙连接状态(源码)

    首先,我们需要理解Android蓝牙API的基本概念。Android提供了`BluetoothManager`类,它允许开发者获取到`BluetoothAdapter`对象,这是与蓝牙硬件交互的主要接口。`BluetoothAdapter`提供了检查蓝牙是否开启、开启或...

    Android蓝牙录音

    Android蓝牙API主要由`BluetoothAdapter`、`BluetoothDevice`、`BluetoothSocket`和`BluetoothServerSocket`等类组成。`BluetoothAdapter`是系统蓝牙功能的主要入口,可以用来发现设备、配对和管理蓝牙连接。`...

    Android蓝牙设备的配对,连接,搜索demo

    首先,我们需要了解Android蓝牙API的基本概念。从Android 3.0(Honeycomb)版本开始,Android引入了BluetoothAdapter类,它是处理蓝牙功能的主要接口。要进行蓝牙操作,首先需要检查设备是否支持蓝牙,并获取...

    Android蓝牙连接设备demo

    Android从API 18(Android 4.3 Jelly Bean)开始支持BLE,提供了`BluetoothManager`和`BluetoothAdapter`等类,使得开发者可以方便地进行BLE设备的扫描、连接和通信。 2. **设备扫描**:在Android中,使用`...

    android 蓝牙数据传输DEMO

    1. **蓝牙API**:Android提供了`BluetoothAdapter`、`BluetoothDevice`、`BluetoothServerSocket`和`BluetoothSocket`等类来处理蓝牙连接和通信。这些类位于`android.bluetooth`包中,是进行蓝牙操作的基础。 2. **...

    Android蓝牙打印支持图片和文字打印

    总的来说,实现Android蓝牙打印功能需要理解蓝牙通信机制,掌握ESC/POS指令集,以及熟悉Android的蓝牙API。通过第三方库,可以简化这一过程,让开发者更专注于应用逻辑,而非底层通信细节。在实际应用中,务必测试...

    android BlueToothDemo (蓝牙搜索,配对,连接,传输)详细讲解见博客

    - **适配不同Android版本**:Android的不同版本可能有不同的蓝牙API,需要根据API级别适配代码。 - **安全与隐私**:尊重用户隐私,仅在用户同意的情况下进行蓝牙操作,并妥善处理用户数据。 博客链接...

    android 蓝牙4.0 和2.0

    在Eclipse环境中开发Android蓝牙应用,你需要导入Android SDK对应的蓝牙库,并遵循Android的生命周期管理,确保在适当的时候启动和停止蓝牙操作,避免资源泄漏和性能问题。 在"MyBluetooth"这个项目中,我们可以...

    android studio 蓝牙开发demo

    总的来说,"android studio 蓝牙开发demo"涵盖了Android Bluetooth LE开发的基本流程,从设备搜索、连接、服务发现到数据交换,是学习和实践Android蓝牙编程的好素材。通过学习这个示例,开发者可以构建自己的蓝牙...

Global site tag (gtag.js) - Google Analytics