欢迎来到皮皮网网首页

【ui源码包】【闪呗源码】【xmind源码解析】android4.4蓝牙源码_安卓蓝牙源码

来源:阿里云 html 源码 时间:2024-11-06 09:56:12

1.Android 蓝牙开发(一)
2.Android开发之蓝牙(Bluetooth)
3.小米4蓝牙版本是牙源牙源多少

android4.4蓝牙源码_安卓蓝牙源码

Android 蓝牙开发(一)

        普通蓝牙设备官方文档

        Android 平台包含蓝牙网络堆栈支持 ,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据。应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径。使用 Bluetooth API Android 应用可以执行下面的操作:

        传统蓝牙适用于电池使用强度较大的操作,例如 Android 设备之间的流传输和通信等。针对具有低功耗要求的蓝牙设备,Android 4.3(API )中引入了面向低功耗蓝牙的 API 支持。

        使用 Android Bluetooth API 来完成使用蓝牙进行通信的四项主要任务: 设置蓝牙 、 查找局部区域内的配对设备或可用设备 、 连接设备 ,以及在 设备之间传输数据 。

        关于蓝牙的 API 在 android.bluetooth 包中,下面介绍一下和蓝牙相关的主要类:

        在 BluetoothProfile IPC 客户端连接到服务(即,运行特定配置文件的内部服务)或断开服务连接时向其发送通知的接口。

        使用蓝牙必须声明权限 BLUETOOTH 才可以执行蓝牙通信。

        1、获取蓝牙适配器

        例如:我们可以查询所有已配对的设备,然后使用 ArrayAdapter 向用户显示每台设备的名称:

        要发起连接仅需要知道目标蓝牙设备的 Mac 地址就可以了。

        注意执行 discovery 对于蓝牙适配器来说是一个非常繁重的过程,并且会消耗大量资源。在找到要连接的设备后, 要确保使用 cancelDiscovery() 来停止发现,然后尝试连接 。如果您已经和某台设备进行连接,那么这个时候执行发现操作会大幅度的减少此连接可用的带宽!因此不应该在处于连接状态的时候执行发现操作!

        例如:

        在连接之前如果两个设备没有配对,则系统会自动发出配对请求。

        服务器套接字接受连接的基本过程

        放在子线程中去执行。

        例子:

        客户端连接的基本过程

        调用 connect() 的时候要确保客户端没有执行发现操作。如果执行了会大幅度降低连接的速度,增加失败的可能。

        例子

        在连接之前调用 cancleDiscovery() 在进行连接之前应该始终调用这个方法,而且调用的时候无需检测是否正在扫描。

        过程:

        从 Android 3.0 开始, Bluetooth API 便支持使用蓝牙配置文件。蓝牙配置文件是适用于设备间蓝牙通信的无线接口规范。

        1、蓝牙配置文件就是设备间通信(蓝牙设备)的一种规范

        免提配置文件便是一个示例,对于连接到无线耳机的手机,两台设备都必须支持免提配置文件。我们也可以通过实现接口 BluetoothProfile 来写入自己的类来支持特定的蓝牙配置文件。Android API 提供了以下的几种蓝牙配置文件的实现:

        2、使用配置文件的基本步骤

        创建 HDP 应用:

        关于普通蓝牙设备和普通蓝牙设备之间的连接通信

        关于蓝牙设备和蓝牙仪器(蓝牙耳机、电子秤等等类似产品)

        这种之间的通信是通过配置文件代理来实现的。

        都有一个对应的配置文件代理类。具体的操作是通过这个对象来完成。

        参考: /s?__biz=MzU5NzA2NjQzMg==&mid=&idx=1&sn=9db9adfbbcc&scene=#wechat_redirect

Android开发之蓝牙(Bluetooth)

        在上一篇中有介绍了Wifi与网络连接处理

        Android开发之WiFi与网络连接处理

下面,来继续说说Android中蓝牙的基本使用。

        Bluetooth是目前使用的最广泛的无线通讯协议之一,主要针对短距离设备通讯(米),常用于连接耳机、鼠标和移动通讯设备等。

        值得一提的是:

        android4.2新增了部分新功能,但是对于Bluetooth熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针BLE。谷歌和Broadcom之间的合作,开发新的蓝牙协议栈,取代了基于堆栈的Bluez。因此市场上出现了老设备的兼容问题,很多蓝牙设备在android4.2手机上不能正常使用。

        BluetoothAdapter简单点来说就是代表了本设备(手机、电脑等)的蓝牙适配器对象。

        first:we need permission

        要操作蓝牙,先要在AndroidManifest.xml里加入权限

        **下面来看看如何使用蓝牙。 **↓↓↓

****

        Demo已就绪:

        返回值:如果设备具备蓝牙功能,返回BluetoothAdapter 实例;否则,返回null对象。

        打开蓝牙设备的方式:

        1.直接调用函数enable()去打开蓝牙设备 ;

        2.系统API去打开蓝牙设备,该方式会弹出一个对话框样式的Activity供用户选择是否打开蓝牙设备。

        注意:1.如果蓝牙已经开启,不会弹出该Activity界面。2.在目前大多数Android手机中,是不支持在飞行模式下开启蓝牙的。如果蓝牙已经开启,那么蓝牙的开关 ,状态会随着飞行模式的状态而发生改变。

        1. 搜索蓝牙设备

        使用BluetoothAdapter的startDiscovery()方法来搜索蓝牙设备

        startDiscovery()方法是一个异步方法,调用后会立即返回。该方法会进行对其他蓝牙设备的搜索,该过程会持续秒。该方法调用后,搜索过程实际上是在一个System Service中进行的,所以可以调用cancelDiscovery()方法来停止搜索(该方法可以在未执行discovery请求时调用)。

        系统开始搜索蓝牙设备

        ^( * ï¿£(oo)ï¿£ ) ^ 系统会发送以下三个广播:

        2.扫描设备

        3.定义广播接收器接收搜索结果

        4.注册广播

        获取附近的蓝牙设备

        第一步建立连接:首先Android sdk(2.0以上版本)支持的蓝牙连接是通过BluetoothSocket建立连接,服务端BluetoothServerSocket和客户端(BluetoothSocket)需指定同样的UUID,才能建立连接,因为建立连接的方法会阻塞线程,所以服务器端和客户端都应启动新线程连接。

        (这里的服务端和客户端是相对来说的)

        两个蓝牙设备之间的连接,则必须实现服务端与客户端的机制。

        当两个设备在同一个RFCOMM channel下分别拥有一个连接的BluetoothSocket,这两个设备才可以说是建立了连接。

        服务端设备与客户端设备获取BluetoothSocket的途径是不同的。

        1,服务端设备是通过accepted一个incoming connection来获取的,

        2,客户端设备则是通过打开一个到服务端的RFCOMM channel来获取的。

        服务端

        通过调用BluetoothAdapter的listenUsingRfcommWithServiceRecord(String, UUID)方法来获取BluetoothServerSocket(UUID用于客户端与服务端之间的配对)

        客户端

        调用BluetoothService的createRfcommSocketToServiceRecord(UUID)方法获取BluetoothSocket(该UUID应该同于服务端的UUID)。

        调用BluetoothSocket的connect()方法(该方法为block方法),如果UUID同服务端的UUID匹配,并且连接被服务端accept,则connect()方法返回。

        数据传递,通过以上操作,就已经建立的BluetoothSocket连接了,数据传递无非是通过流的形式

        获取流

        该类就是关于远程蓝牙设备的一个描述。通过它可以和本地蓝牙设备---BluetoothAdapter连接通信。

        好多东西我也不知道怎么描述,下面给出Demo:

        刚好有刚学习的小伙伴问我ListView怎么用,那我就用ListView。

        源码:

        RairDemo

        GitHub: /Rairmmd/android-demo

        Coding: /u/Rair/p/RairDemo/git

小米4蓝牙版本是多少

       买回来的时候系统版本是基于android4.4.4的miui5,之后用户可以升级基于android4.4.4的码安码ui源码包miui6

       既然系统版本都是android4.4.4的话,那么就是卓蓝闪呗源码说蓝牙版本就是android4.0的版本了

       不然的话怎么支持小米手环(小米手环必须要支持android4.0版本的手机才能使用)