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:

[java] view plain copy

  1. import java.util.Iterator;
  2. import java.util.Set;
  3. import android.app.Activity;
  4. import android.bluetooth.BluetoothAdapter;
  5. import android.bluetooth.BluetoothDevice;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. public class MainActivity extends Activity {
  12. private Button button = null;
  13. /** Called when the activity is first created. */
  14. @Override
  15. public void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. button = (Button)findViewById(R.id.buttonId);
  19. button.setOnClickListener(new OnClickListener(){
  20. @Override
  21. public void onClick(View v) {
  22. //获得BluetoothAdapter对象,该API是android 2.0开始支持的
  23. BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
  24. //adapter不等于null,说明本机有蓝牙设备
  25. if(adapter != null){
  26. System.out.println("本机有蓝牙设备!");
  27. //如果蓝牙设备未开启
  28. if(!adapter.isEnabled()){
  29. Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
  30. //请求开启蓝牙设备
  31. startActivity(intent);
  32. }
  33. //获得已配对的远程蓝牙设备的集合
  34. Set<BluetoothDevice> devices = adapter.getBondedDevices();
  35. if(devices.size()>0){
  36. for(Iterator<BluetoothDevice> it = devices.iterator();it.hasNext();){
  37. BluetoothDevice device = (BluetoothDevice)it.next();
  38. //打印出远程蓝牙设备的物理地址
  39. System.out.println(device.getAddress());
  40. }
  41. }else{
  42. System.out.println("还没有已配对的远程蓝牙设备!");
  43. }
  44. }else{
  45. System.out.println("本机没有蓝牙设备!");
  46. }
  47. }
  48. });
  49. }
  50. }
时间: 2024-10-09 20:42:33

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

Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备

版权声明:本文为博主原创文章,未经博主允许不得转载. 一. 修改本机蓝牙设备的可见性 二. 扫描周围可用的蓝牙设备 Eg: 一.  清单文件AdroidManifest.xml: [java] view plain copy <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android&q

【视频】零基础学Android开发:蓝牙聊天室APP(一)

零基础学Android开发:蓝牙聊天室APP第一讲 1. Android介绍与环境搭建:史上最高效Android入门学习 1.1 Google的大小战略 1.2 物联网与云计算 1.3 智能XX设备 1.4 Android发展前景 1.5 Android企业需求与就业薪资 1.6 Android框架介绍 1.7 搭建Android开发环境 1.8 Android SDK文件夹具体解释 1.9 开发第一个App:HelloWorld 1.10 App应用程序文件夹具体解释 在线收看:http://

【视频】零基础学Android开发:蓝牙聊天室APP(三)

零基础学Android开发:蓝牙聊天室APP第三讲 3.1 ImageView.ImageButton控件详解 3.2 GridView控件详解 3.3 SimpleAdapter适配器详解 3.4 事件监听器:OnItemClickListener 3.5 输入和显示表情图像 在线收看:http://www.3g-edu.org/news/video023.htm 视频下载:http://pan.baidu.com/s/1kTmiNqf

【视频】零基础学Android开发:蓝牙聊天室APP(四)

零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter详解 4.3 ListView分布与滚动事件 4.4 ListView事件监听器:OnItemClickedListener 在线收看:http://www.3g-edu.org/news/video026.htm 视频下载:http://pan.baidu.com/s/1jGkjDGE

【视频】零基础学Android开发:蓝牙聊天室APP(二)

零基础学Android开发:蓝牙聊天室APP第二讲 2.1 课程内容应用场景 2.2 Android UI设计 2.3 组件布局:LinearLayout和RelativeLayout 2.4 TextView.EditText.Button控件 2.5 文本信息的隐藏和显示 2.6 输入和显示表情图像 在线收看:http://www.3g-edu.org/news/video022.htm 视频下载:http://pan.baidu.com/s/1mgHoObu

Android开发中的耗时操作总结

Android开发中的耗时操作总结 在Android软件开发过程中,经常遇到耗时操作.为了使手机app运行流畅,耗时操作需要在新的一个线程中完成.那么,Android手机应用开发中,耗时操作有哪些呢?下面来总结一下. 下载文件操作 网络连接操作(尤其是网络不好的时候) 音频格式转换操作 文件操作 比较大的数据的初始化操作 sleep函数等 注: 具体的功能还得根据业务需求来完成.

Android开发之蓝牙通信

时隔半年时间,又遇到了蓝牙开发了,之前是蓝牙连接打印相关方面的,这次需要蓝牙配对数据传输,折腾过去折腾过来,也就那么回事,下定决心系统的梳理这块的知识 蓝牙开发必练基本功 蓝牙权限 为了在您的应用程序中使用蓝牙功能,您必须声明蓝牙权限蓝牙.您需要此权限来执行任何蓝牙通信,如请求一个连接.接受一个连接和传输数据.如果你想让你的应用启动设备发现或操纵蓝牙设置,你也必须申报bluetooth_admin许可.大多数应用程序都需要此权限,仅用于发现本地蓝牙设备的能力.此权限授予的其他权限不应被使用,除非

android开发(42) 使用andorid操作蓝牙打印机

最近接到一个需求,使用android发起打印任务,通过蓝牙连接打印机.条件如下: 打印机:南京富士通DPK760E,具有蓝牙功能 Android手机:普通手机,Android 4.4版本,具有蓝牙功能 具体操作: 1. 蓝牙握手 2. 建立通信连接 3. 发送打印指令 ------------------- 使用官方提供的例子可以支持 第1,2步,难点时第三步了.官方提供的例子没有操作 打印的位置坐标的,经过反复功能,获得以下指令: a. 卷纸,移动纸张操作,相当于y坐标轴,但是,这是一个相对位

android开发之蓝牙配对连接的方法

最近在做蓝牙开锁的小项目,手机去连接单片机总是出现问题,和手机的连接也不稳定,看了不少蓝牙方面的文档,做了个关于蓝牙连接的小结. 在做android蓝牙串口连接的时候一般会使用 ? 1 2 3 4 5 6 7 8 BluetoothSocket tmp = null; // Get a BluetoothSocket for a connection with the // given BluetoothDevice try {          tmp = device.createRfcom