`
Tony_Lee-S
  • 浏览: 82763 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备(转)

阅读更多
一. 什么是蓝牙(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 BlueToothDemo (蓝牙搜索,配对,连接,传输)详细讲解见博客

    在Android平台上,开发蓝牙应用是一项常见的任务,尤其在设备间数据传输、物联网(IoT)设备控制等领域。本文将深入探讨如何使用Android的Bluetooth API来实现蓝牙搜索、配对、连接以及传输数据。 首先,我们要了解...

    android 8.1 蓝牙开发 静默开启蓝牙 将蓝牙暴露给其他蓝牙设备 扫描蓝牙设备 静默配对 建联相互通信

    在Android 8.1系统中进行蓝牙开发,你需要掌握一系列的关键技术点,这些技术涵盖了蓝牙的静默开启、蓝牙设备的曝光、扫描蓝牙设备、静默配对以及建立连接进行相互通信。以下是对这些知识点的详细解释: 1. **静默...

    Android代码-安卓蓝牙扫描、连接、发送指令

    总之,这个名为“blesdk”的SDK提供了一整套完整的BLE操作工具,让开发者能够轻松地在Android应用中实现蓝牙设备的扫描、连接和指令发送。了解和掌握这些技术,对于开发物联网应用或者与BLE设备交互的Android应用至...

    android BlueToothDemo (蓝牙搜索,配对,连接,传输)

    配对蓝牙设备通常涉及用户交互,因为系统会弹出一个对话框要求用户确认配对请求。开发者可以通过`BluetoothDevice.createBond()`方法发起配对请求。配对成功后,设备的状态可以通过`BluetoothDevice.getBondState()`...

    android bluetooth demo 蓝牙样例

    在示例程序中,可能还会包括蓝牙设备的扫描、配对、取消配对等功能的实现,这些都是Android蓝牙开发的基本操作。同时,开发者需要注意蓝牙权限(BLUETOOTH_ADMIN和BLUETOOTH)的申请,以及在Android 6.0及以上版本中...

    Android蓝牙设备的配对,连接,搜索demo

    本文将深入探讨如何在Android系统中实现这些操作,参考自博客文章《Android蓝牙设备的配对,连接,搜索demo》。 首先,我们需要了解Android蓝牙API的基本概念。从Android 3.0(Honeycomb)版本开始,Android引入了...

    Android蓝牙,配对,搜索,连接,通信,断开的Demo

    本项目"Android蓝牙,配对,搜索,连接,通信,断开的Demo"是一个使用Kotlin编写的Android应用示例,它涵盖了蓝牙功能的基本操作,包括设备的搜索、配对、取消配对、连接、数据传输以及断开连接等核心环节。...

    芯科蓝牙例程-bluetooth-applications-master

    "蓝牙例程-bluetooth-applications-master" 是一个针对芯科蓝牙技术的官方源码库,旨在帮助开发者快速理解和掌握蓝牙应用的开发。这个压缩包包含了各种蓝牙应用的示例代码,是初学者学习和专业人士进阶的宝贵资源。 ...

    Android 蓝牙开发,实现了,蓝牙搜索,蓝牙连接,蓝牙发送消息接收消息

    这个项目"Android蓝牙开发,实现了,蓝牙搜索,蓝牙连接,蓝牙发送消息接收消息"显然是一个基本的蓝牙通信示例应用,名为"bletestdemo"。下面我们将详细探讨这个项目涉及的关键知识点。 1. **蓝牙基础**: - **...

    android_Bluetooth_ssp-BLE,一个可以选择spp或者BLE连接的数据交换app

    总之,"android_Bluetooth_ssp-BLE"项目提供了一个实用的工具,让开发者能够在Android设备上灵活选择使用SSP或BLE进行数据交换,这有助于理解这两种蓝牙协议的工作机制,并在实际项目中进行选择和应用。通过研究这个...

    android 蓝牙自动配对

    本文将深入探讨如何实现Android蓝牙的自动配对功能,并且基于描述中的"无配对提示框"特性,我们将着重讨论如何在用户无感知的情况下完成这一过程。 首先,理解蓝牙自动配对的基础是熟悉Android的蓝牙API。Android...

    蓝牙通信 Android开发实现手机间通过蓝牙传输文件

    在应用层,开发者通过Android提供的API来实现蓝牙设备的扫描、配对和数据传输。 在这个实验小作业中,主要涉及的步骤包括: 1. 扫描附近蓝牙设备:使用BluetoothAdapter的startDiscovery()方法发起蓝牙设备扫描。 ...

    Android接收蓝牙扫描枪的Demo(蓝牙扫描设备

    在Android平台上,开发一款应用来接收蓝牙扫描枪的数据是一项常见的任务,特别是在物流、仓储和零售等领域。本Demo的目的是提供一个基础的实现框架,帮助开发者理解如何与蓝牙扫描枪进行通信。下面我们将深入探讨...

    Node.js-Android-BluetoothSPPLibrary开发者用它可以通过蓝牙与Android设备进行通信

    Node.js和Android之间的蓝牙通信是移动应用开发中的一个重要领域,特别是在物联网(IoT)和设备交互的场景下。本文将详细讲解如何使用`Android-BluetoothSPPLibrary`库,一个专为开发者设计的工具,通过蓝牙Serial ...

    Android 9.0 蓝牙配对流程

    在Android 9.0系统中,蓝牙设备的配对...综上所述,Android 9.0 中蓝牙配对流程涉及用户界面交互、蓝牙设备操作、系统服务通信、安全性和性能监控等多个方面。理解这些细节对于开发和调试蓝牙相关应用是至关重要的。

    android蓝牙模块源码分析

    在Android系统中,蓝牙(Bluetooth)模块是一个至关重要的部分,它允许设备进行无线通信,实现数据交换、设备配对和连接各种蓝牙设备,如耳机、键盘、健康追踪器等。本文档将对Android蓝牙模块的源码进行浅显易懂的...

    Android蓝牙连接设备demo

    这个"Android蓝牙连接设备demo"是一个学习和实践BLE通信的宝贵资源,它涵盖了从设备扫描、连接到数据传输的所有基本步骤,同时展示了如何处理多设备连接的挑战。开发者可以根据这个示例,结合自己的需求,构建出满足...

    android监听蓝牙设备的连接状态

    在Android平台上,监听蓝牙设备的连接状态是一项关键功能,它涉及到设备间的无线通信与数据交换。本文将深入探讨如何利用Android系统广播机制来实现这一目标。 首先,我们要明白蓝牙连接状态主要包括三种:未连接、...

    BluetoothHCI_蓝牙VC源代码_vc蓝牙_蓝牙_bluetooth_

    在这个上下文中,"Bluetooth HCI_蓝牙VC源代码_vc蓝牙_蓝牙_bluetooth_" 指的是一份使用Visual C++(VC)开发的蓝牙通信程序源代码。这份源代码提供了开发者深入了解和实践蓝牙编程的一个平台,特别适合初学者学习。...

Global site tag (gtag.js) - Google Analytics