没有合适的资源?快使用搜索试试~ 我知道了~
1.简介关于蓝牙的介绍对于阅读本文章的人来说并不需要我进行对于的介绍。在Android中为蓝牙的使用提供了一整套API,可以进行如下操作:
资源推荐
资源详情
资源评论
1.简介
关于蓝牙的介绍对于阅读本文章的人来说并不需要我进行对于的介绍。在
Android 中为蓝牙的使用提供了一整套 API,可以进行如下操作:
� 搜索其他蓝牙设备
� 查询适配设备
� 建立 RFCOMM 通道
� 通过发现服务连接其他蓝牙设备
� 交换数据
� 管理多项连接
其中,本文只介绍简单的点对点蓝牙设备的数据交换技术,其余内容请自行查
阅相关文档。此外本文只涉及经典蓝牙(Classic Bluetooth)的开发,并不涉及
低功耗蓝牙(BLE)的开发。
2.基础
关于经典蓝牙(以下简称蓝牙)开发所用到的 API 都来自于
android.bluetooth 包中,本部分主要介绍相关类的概要说明。
2.1BluetoothAdapter
BluetoothAdapter 类的对象代表本地的蓝牙适配器。BluetoothAdapter 是所有
蓝牙交互操作的入口点,通过使用该类的对象,可以完成以下操作:
� 发现其他蓝牙设备
� 查询已配对的设备
� 通过已知的 MAC 地址实例化远程蓝牙设备
� 创建 BluetoothServerSocket 类(下文 2.4)对象监听与其他蓝牙设备
的通信。
2.2BluetoothDevice
表示远程的蓝牙设备。使用该类对象可进行远程蓝牙设备的连接请求,以及查
询该蓝牙设备的信息,例如名称,地址等。
2.3BluetoothSocket
表示蓝牙 socket 的接口(与 TCP Socket 类似, 关于 socket 的概念请自行查
阅计算机网络的相关内容)。该类的对象作为应用中数据传输的连接点。
2.4BluetoothServerSocket
表示服务器 socket,用来监听未来的请求(和 TCP ServerSocket 类似)。为
了能使两个蓝牙设备进行连接,一个设备必须使用该类开启服务器 socket,当
远程的蓝牙设备请求该服务端设备时,如果连接被接受,
BluetoothServerSocket 将会返回一个已连接的 BluetoothSocket 类对象。
2.5BluetoothClass
描述蓝牙设备的主要特征。BluetoothClass 的类对象是一个只读的蓝牙设备的
属性集。尽管该类对象并不能可靠地描述 BluetoothProfile 的所有内容以及该
设备支持的所有服务信息,但是该类对象仍然有助于对该设备的类型进行提
示。
2.6BluetoothProfile
表示蓝牙规范,蓝牙规范是两个基于蓝牙设备通信的标准。
对于基本的蓝牙通信技术,上述类已经足够,更多内容请参照文档。
3.权限
3.1android.permission.BLUETOOTH
为了能够在你开发的应用设备中使用蓝牙功能,必须声明蓝牙的权限
"BLUETOOTH"。在进行蓝牙的通信,例如请求连接,接受连接以及交换数据中,
需要用到该权限
[1]
。
<manifest ... >
<uses-permission android:name="android.permission.BLUETOOTH" />
...
</manifest>
3.2android.permission.BLUETOOTH_ADMIN
如果你的应用程序需要实例化蓝牙设备的搜索或者对蓝牙的设置进行操作,那
么必须声明 BLUETOOTH_ADMIN 权限。大多数应用需要该权限对本地的蓝牙设备
进行搜索。该权限的其他能力并不应当被使用,除非你的应用是一个电源管理
的应用,需要对蓝牙的设置进行修改
[2]
。
<manifest ... >
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
/>
...
</manifest>
4.开启蓝牙(Setting Up Bluetooth)
在你的应用程序能够使用蓝牙进行通信之前,你需要进行确认蓝牙设备是否被
当前设备所支持。如果当前设备支持蓝牙,则需要请求开启蓝牙设备。该部分
可使用 BluetoothAdapter 通过两步完成。
4.1 获得 BluetoothAdapter
BluetoothAdapter 对于任何的蓝牙行为都是必备的。获取 BluetoothAdapter,
可通过调用静态方法 getDefaultAdater()。该方法返回一个 BluetoothAdapter
对象,用来代表自己设备的蓝牙适配器。如果 getDefaultAdapter()返回
null,那么该设备并不支持蓝牙,而你对于本文的阅读也就到此为止了,请点
击窗口右上角的关闭按钮╮(╯_╰)╭。代码示例如下:
BluetoothAdapter mBluetoothAdapter =
BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
// Device does not support Bluetooth
}
4.2 开启蓝牙
接下来,你需要确保蓝牙处于开启的状态。调用 isEnabled()方法来检查蓝牙
目前是否可用。如果该方法返回 false,那么蓝牙处于不可用的状态。为了请
求蓝牙设备的开启,使用 ACTION_REQUEST_ENABLE 的 Intent,并调用
startActivityForResult()方法。这将会通过系统设置开启你的蓝牙,例如:
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
剩余13页未读,继续阅读
资源评论
家的要素
- 粉丝: 19
- 资源: 298
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功