Android蓝牙简单开发
首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限
<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permissionandroid:name="android.permission.BLUETOOTH" />
然后,看下api,Android所有关于蓝牙开发的类都在android.bluetooth包下,如下图,只有8个类
而我们需要用到了就只有几个而已:
1.BluetoothAdapter 顾名思义,蓝牙适配器,直到我们建立bluetoothSocket连接之前,都要不断操作它
BluetoothAdapter里的方法很多,常用的有以下几个:
cancelDiscovery() 根据字面意思,是取消发现,也就是说当我们正在搜索设备的时候调用这个方法将不再继续搜索
disable()关闭蓝牙
enable()打开蓝牙,这个方法打开蓝牙不会弹出提示,更多的时候我们需要问下用户是否打开,一下这两行代码同样是打开蓝牙,不过会提示用户:
Intemtenabler=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);
getAddress()获取本地蓝牙地址
getDefaultAdapter()获取默认BluetoothAdapter,实际上,也只有这一种方法获取BluetoothAdapter
getName()获取本地蓝牙名称
getRemoteDevice(String address)根据蓝牙地址获取远程蓝牙设备
getState()获取本地蓝牙适配器当前状态(感觉可能调试的时候更需要)
isDiscovering()判断当前是否正在查找设备,是返回true
isEnabled()判断蓝牙是否打开,已打开返回true,否则,返回false
listenUsingRfcommWithServiceRecord(String name,UUID uuid)根据名称,UUID创建并返回BluetoothServerSocket,这是创建BluetoothSocket服务器端的第一步
startDiscovery()开始搜索,这是搜索的第一步
2.BluetoothDevice看名字就知道,这个类描述了一个蓝牙设备
createRfcommSocketToServiceRecord(UUIDuuid)根据UUID创建并返回一个BluetoothSocket
这个方法也是我们获取BluetoothDevice的目的——创建BluetoothSocket
这个类其他的方法,如getAddress(),getName(),同BluetoothAdapter
3.BluetoothServerSocket如果去除了Bluetooth相信大家一定再熟悉不过了,既然是Socket,方法就应该都差不多,
这个类一种只有三个方法
两个重载的accept(),accept(inttimeout)两者的区别在于后面的方法指定了过时时间,需要注意的是,执行这两个方法的时候,直到接收到了客户端的请求(或是过期之后),都会阻塞线程,应该放在新线程里运行!
还有一点需要注意的是,这两个方法都返回一个BluetoothSocket,最后的连接也是服务器端与客户端的两个BluetoothSocket的连接
close()这个就不用说了吧,翻译一下——关闭!
4.BluetoothSocket,跟BluetoothServerSocket相对,是客户端
一共5个方法,不出意外,都会用到
close(),关闭
connect()连接
getInptuStream()获取输入流
getOutputStream()获取输出流
getRemoteDevice()获取远程设备,这里指的是获取bluetoothSocket指定连接的那个远程蓝牙设备
相关推荐
基于Android平台的一个关于应用蓝牙设备进行聊天的程序,目前程序已实现2台设备之间的通信,服务器部分是按照的一对多的方式写的```没有测试3台设备是否能聊天,不过2台设备配对后``是百分百可以的,有UI界面,操作简单,...
android开发蓝牙的一个简单例子,服务端和客户端的收发文字信息,用于安卓蓝牙开发入门再好不过了
Android蓝牙通信实例,有客户端和服务端两个程序,以便理解起来更加简单明了。
这是一个Android蓝牙开发的小程序,代码简单,实现了蓝牙打开、搜索、配对、连接、通信等功能。两个Android项目,一个服务器一个客户端
android 蓝牙简单通信,蓝牙开发。
Android无线蓝牙总结,实现了利用蓝牙进行安卓间简单文本通讯
蓝牙点名功能,一个基于java开发的android app,简单实现了蓝牙点名的功能
第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...
android 蓝牙开发指南, RFCOMM协议 一个基于欧洲电信标准协会ETSI07.10规程的串行线性仿真协议。此协议提供RS232 控制和状态信号,如基带上的损坏,CTS以及数据信号等,为上层业务(如传统的串行线缆 应用)提供了...
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗... 4、如何在Android开发低功耗蓝牙ble控制 TB-02 模块,代码工程全部开源! 文章目录前言一、材料准备二、蓝牙模块初始化三、App开发过程4.1 搜索设
Android的蓝牙编程例子,基于SPP协议与蓝牙串口设备通信,本文程序作为客户端使用。 这里提供实例代码和详细解析实现方法,对开发Android蓝牙开发的朋友提供简单示例,有需要的朋友可以参考下
本demo是基于Android studio开发的蓝牙串口demo,包含蓝牙配对、列表搜索结果、简单的聊天;可用于和蓝牙模块HC-05通信.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
app连接蓝牙模块2.0进行互相通讯,使用androidstudio编写,页面相对简单,但是功能完善,蓝牙必须先配对再在app中连接
android蓝牙开发小程序,十分的简单,比较适合初学者
第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构,相比其他系统,传感器系统的各个层次都比较简单。 第6~12章分模块介绍Android的几个核心系统,主要是本地框架和Java框架...
本文主要介绍Android 蓝牙开发,这里提供实例代码和详细解析实现方法,对开发Android蓝牙开发的朋友提供简单示例,有需要的朋友可以参考下
本应用参考google官方的蓝牙使用方法,实现了在安卓手机上,控制...最近从事蓝牙开发,这是最开始的一个简单的应用程序,后续会继续补充其他的功能。 蓝牙芯片为BC-04,下次上传蓝牙通信的案例代码,现在已基本完工。
安卓的普通蓝牙服务器和客户端的开发例程,能实现基本的字符串通讯
android蓝牙通信源代码(主要代码)。 终于圆了蓝牙app的开发了,以前整过好几次,不过都没成功,虽然实现的功能很简单,也来分享一下吧。实现的功能并没有搜索蓝牙,打开蓝牙和配对。所以在使用前要打开蓝牙并且...