新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > Android上蓝牙通信功能开发

Android上蓝牙通信功能开发

作者:时间:2012-07-09来源:网络收藏

1. 概述

本文引用地址:http://www.eepw.com.cn/article/154455.htm

  Bluetooth 是几乎现在每部手机标准配备的,多用于耳机 mic 等设备与手机的连接,除此之外,还可以多部手机之间建立 bluetooth ,本文就通过 SDK 中带的一个聊天室的例程,来介绍一下 上的 Bluetooth 的

  在 1.x 的时候,相关 API 非常不完善,还不能简单的使用 Bluetooth ,有一个开源项目可以帮助程序员使用、,支持直接方法bluetooth 协议栈。在 2 以后,框架提供了一些官方 API 来进行,但目前的程序也比较不完善。本文主要讨论 Android2 后的Bluetooth 的 API 使用方法。

  首先看聊天室的效果图:

  

1.gif

  2. Bluetooth 通信 API 介绍2.1. Bluetooth 通信过程

  

2.gif

2.2. Bluetooth API 的主要方法

  BluetoothAdapter 类

  BluetoothAdapter.getDefaultAdapter() :得到本地默认的 BluetoothAdapter ,若返回为 null 则表示本地不支持;

  isDiscovering() :返回设备是否正在发现周围蓝牙设备;

  cancelDiscovery() :取消正在发现远程蓝牙设备的过程;

  startDiscovery() :开始发现过程;

  getScanMode() :得到本地蓝牙设备的 Scan Mode ;

  getBondedDevices() :得到已配对的设备;

  isEnabled() :蓝牙是否启用。

  当发现蓝牙未启用时,如下调用设置启用蓝牙:

  if (! mBluetoothAdapter .isEnabled()) {

  Intent enableIntent = new Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE );

  startActivityForResult(enableIntent, REQUEST_ENABLE_BT );

  }

  复制代码

  如果发现当前设备没有打开对外可见模式,则传递 Intent 来调用打开可发现模式,代码如下:

  Intent discoverableIntent = new Intent(BluetoothAdapter. ACTION_REQUEST_DISCOVERABLE ); discoverableIntent.putExtra(BluetoothAdapter. EXTRA_DISCOVERABLE_DURATION , 300);

  startActivity(discoverableIntent);

  复制代码

  BluetoothDevice 类,此为对应的远程蓝牙 Device

  createRfcommSocketToServiceRecord() :创建该 Device 的 socket 。

  BluetoothSocket 类

  connect() :请求连接蓝牙。

  getInputStream() :得到输入流,用于接收远程方信息。

  getOutputStream() :得到输出流,发送给远程方的信息。

  close() :关闭蓝牙连接。

  InputStream 类:

  read(byte[]) :以阻塞方式读取输入流。

  OutputStream 类:

  write(byte[]) :将信息写入该输出流,发送给远程。

数字通信相关文章:数字通信原理


通信相关文章:通信原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭