一. 什么是蓝牙(Bluetooth)?
1.1 BuleTooth是目前使用最广泛的无线通信协议
1.2 主要针对短距离设备通讯(10m)
1.3 常用于连接耳机,鼠标和移动通讯设备等.
二. 与蓝牙相关的API
2.1 BluetoothAdapter:
代表了本地的蓝牙适配器
2.2 BluetoothDevice
代表了一个远程的Bluetooth设备
三. 扫描已经配对的蓝牙设备(1)
注:必须部署在真实手机上,模拟器无法实现
首先需要在AndroidManifest.xml 声明蓝牙权限
<user-permission android:name="android.permission.BLUETOOTH" />
配对蓝牙需要手动操作:
1. 打开设置--> 无线网络 --> 蓝牙 勾选开启
2. 打开蓝牙设置 扫描周围已经开启的蓝牙设备(可以与自己的笔记本电脑进行配对),点击进行配对
电脑上会弹出提示窗口: 添加设备
显示计算与设备之间的配对码,要求确认是否配对
手机上也会显示类似的提示.
四. 扫描已经配对的蓝牙设备(2)
4.1 获得BluetoothAdapter对象
4.2 判断当前移动设备中是否拥有蓝牙
4.3 判断当前移动设备中蓝牙是否已经打开
4.4 得到所有已经配对的蓝牙设备对象
实现代码如下:
MainActivity:
import java.util.Iterator;
import java.util.Set;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button button = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.buttonId);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获得BluetoothAdapter对象,该API是android 2.0开始支持的
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
//adapter不等于null,说明本机有蓝牙设备
if(adapter != null){
System.out.println("本机有蓝牙设备!");
//如果蓝牙设备未开启
if(!adapter.isEnabled()){
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
//请求开启蓝牙设备
startActivity(intent);
}
//获得已配对的远程蓝牙设备的集合
Set<BluetoothDevice> devices = adapter.getBondedDevices();
if(devices.size()>0){
for(Iterator<BluetoothDevice> it = devices.iterator();it.hasNext();){
BluetoothDevice device = (BluetoothDevice)it.next();
//打印出远程蓝牙设备的物理地址
System.out.println(device.getAddress());
}
}else{
System.out.println("还没有已配对的远程蓝牙设备!");
}
}else{
System.out.println("本机没有蓝牙设备!");
}
}
});
}
}
转自:
http://blog.csdn.net/t12x3456/article/details/7865682
分享到:
相关推荐
在Android平台上,开发蓝牙应用是一项常见的任务,尤其在设备间数据传输、物联网(IoT)设备控制等领域。本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解...
在Android 8.1系统中进行蓝牙开发,你需要掌握一系列的关键技术点,这些技术涵盖了蓝牙的静默开启、蓝牙设备的曝光、扫描蓝牙设备、静默配对以及建立连接进行相互通信。以下是对这些知识点的详细解释: 1. **静默...
总之,这个名为“blesdk”的SDK提供了一整套完整的BLE操作工具,让开发者能够轻松地在Android应用中实现蓝牙设备的扫描、连接和指令发送。了解和掌握这些技术,对于开发物联网应用或者与BLE设备交互的Android应用至...
在示例程序中,可能还会包括蓝牙设备的扫描、配对、取消配对等功能的实现,这些都是Android蓝牙开发的基本操作。同时,开发者需要注意蓝牙权限(BLUETOOTH_ADMIN和BLUETOOTH)的申请,以及在Android 6.0及以上版本中...
本文将深入探讨如何在Android系统中实现这些操作,参考自博客文章《Android蓝牙设备的配对,连接,搜索demo》。 首先,我们需要了解Android蓝牙API的基本概念。从Android 3.0(Honeycomb)版本开始,Android引入了...
配对蓝牙设备通常涉及用户交互,因为系统会弹出一个对话框要求用户确认配对请求。开发者可以通过`BluetoothDevice.createBond()`方法发起配对请求。配对成功后,设备的状态可以通过`BluetoothDevice.getBondState()`...
本项目"Android蓝牙,配对,搜索,连接,通信,断开的Demo"是一个使用Kotlin编写的Android应用示例,它涵盖了蓝牙功能的基本操作,包括设备的搜索、配对、取消配对、连接、数据传输以及断开连接等核心环节。...
"蓝牙例程-bluetooth-applications-master" 是一个针对芯科蓝牙技术的官方源码库,旨在帮助开发者快速理解和掌握蓝牙应用的开发。这个压缩包包含了各种蓝牙应用的示例代码,是初学者学习和专业人士进阶的宝贵资源。 ...
总之,"android_Bluetooth_ssp-BLE"项目提供了一个实用的工具,让开发者能够在Android设备上灵活选择使用SSP或BLE进行数据交换,这有助于理解这两种蓝牙协议的工作机制,并在实际项目中进行选择和应用。通过研究这个...
这个项目"Android蓝牙开发,实现了,蓝牙搜索,蓝牙连接,蓝牙发送消息接收消息"显然是一个基本的蓝牙通信示例应用,名为"bletestdemo"。下面我们将详细探讨这个项目涉及的关键知识点。 1. **蓝牙基础**: - **...
本文将深入探讨如何实现Android蓝牙的自动配对功能,并且基于描述中的"无配对提示框"特性,我们将着重讨论如何在用户无感知的情况下完成这一过程。 首先,理解蓝牙自动配对的基础是熟悉Android的蓝牙API。Android...
在应用层,开发者通过Android提供的API来实现蓝牙设备的扫描、配对和数据传输。 在这个实验小作业中,主要涉及的步骤包括: 1. 扫描附近蓝牙设备:使用BluetoothAdapter的startDiscovery()方法发起蓝牙设备扫描。 ...
在Android平台上,开发一款应用来接收蓝牙扫描枪的数据是一项常见的任务,特别是在物流、仓储和零售等领域。本Demo的目的是提供一个基础的实现框架,帮助开发者理解如何与蓝牙扫描枪进行通信。下面我们将深入探讨...
Node.js和Android之间的蓝牙通信是移动应用开发中的一个重要领域,特别是在物联网(IoT)和设备交互的场景下。本文将详细讲解如何使用`Android-BluetoothSPPLibrary`库,一个专为开发者设计的工具,通过蓝牙Serial ...
在Android 9.0系统中,蓝牙设备的配对...综上所述,Android 9.0 中蓝牙配对流程涉及用户界面交互、蓝牙设备操作、系统服务通信、安全性和性能监控等多个方面。理解这些细节对于开发和调试蓝牙相关应用是至关重要的。
在Android系统中,蓝牙(Bluetooth)模块是一个至关重要的部分,它允许设备进行无线通信,实现数据交换、设备配对和连接各种蓝牙设备,如耳机、键盘、健康追踪器等。本文档将对Android蓝牙模块的源码进行浅显易懂的...
这个"Android蓝牙连接设备demo"是一个学习和实践BLE通信的宝贵资源,它涵盖了从设备扫描、连接到数据传输的所有基本步骤,同时展示了如何处理多设备连接的挑战。开发者可以根据这个示例,结合自己的需求,构建出满足...
在Android平台上,监听蓝牙设备的连接状态是一项关键功能,它涉及到设备间的无线通信与数据交换。本文将深入探讨如何利用Android系统广播机制来实现这一目标。 首先,我们要明白蓝牙连接状态主要包括三种:未连接、...
在这个上下文中,"Bluetooth HCI_蓝牙VC源代码_vc蓝牙_蓝牙_bluetooth_" 指的是一份使用Visual C++(VC)开发的蓝牙通信程序源代码。这份源代码提供了开发者深入了解和实践蓝牙编程的一个平台,特别适合初学者学习。...