Android蓝牙开发之一:打开、关闭蓝牙
转载地址:http://victorzhong.github.io/2015/07/26/Android%E8%93%9D%E7%89%99%E5%BC%80%E5%8F%91%E4%B9%8B%E4%B8%80%EF%BC%9A%E6%89%93%E5%BC%80%E3%80%81%E5%85%B3%E9%97%AD%E8%93%9D%E7%89%99/
这几天在给14屇创新班的师弟师妹们培训Android开发,这里整理出一份完整的笔记记录一下Android通过蓝牙与单片机通信的详细步骤。本篇是第一篇:实现打开、关闭本机的蓝牙。
BluetoothAdapter
首先要介绍的是BluetoothAdapter这个类,这是本地的蓝牙适配器,也就是你自己手机/平板的蓝牙,常用的方法有:
- getDefaultAdapter: 获取本地的蓝牙适配器
- isEnabled(): 本地蓝牙是否使能
- getAddress(); 获取蓝牙MAC地址
- getName(); 获取蓝牙名字
- enable(); 打开蓝牙(需要ADMIN权限)
- disable(); 关闭蓝牙
我们在代码提示里也能看到:
下面我们来看看具体的使用方法。
在IDE里新建好工程(本猿用的是Android Studio),在MainActivity.java里,先声明一个本地的蓝牙适配器:
private BluetoothAdapter bluetoothAdapter; //本地蓝牙适配器
在onCreate()方法里,我们先要获取系统的蓝牙适配器,并将它赋给我们前面声明的bluetoothAdapter,这样就可以对系统的蓝牙进行操作了。
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
访问系统的蓝牙需要权限,所以我们要去AndroidManifest.xml文件里添加权限声明(注意android.permission是小写):
回来MainActivity,获取到系统的蓝牙后我们就可以对它进行操作了,但是保全起见还是先判断一下有没有获取到,万一跑这个应用的安卓机没有蓝牙设备呢?
if(bluetoothAdapter == null){ Toast.makeText(this,"本地蓝牙不可用",Toast.LENGTH_SHORT).show();finish(); //退出应用
}
接下来我们就可以试试上面罗列的方法了。
String Address = bluetoothAdapter.getAddress(); //获取本机蓝牙MAC地址
String Name = bluetoothAdapter.getName(); //获取本机蓝牙名称
// 若蓝牙没打开
if(!bluetoothAdapter.isEnabled()){ bluetoothAdapter.enable(); //打开蓝牙,需要BLUETOOTH_ADMIN权限
}
// 打印信息
Log.i("getAddress() : ", Address);
Log.i("getName() : ", Name);
开始调试,把程序烧进手机里,注意查看logcat,不出意外的话都能看到打印出手机蓝牙的Mac地址和蓝牙的名称了。
Android蓝牙开发之一:打开、关闭蓝牙相关推荐
- Android压力测试不停开启关闭蓝牙报错
问题分析 报错log信息如下 09-28 13:06:08.697706 30214 30214 E AndroidRuntime: FATAL EXCEPTION: main 09-28 13:06 ...
- Android蓝牙开发(一)蓝牙模块及核心API
本文主要介绍Android蓝牙开发中基础知识:蓝牙模块及核心API. 关于蓝牙的连接及通讯功能实现,欢迎查阅下一篇文章:Android蓝牙开发(二)蓝牙消息传输实现. 蓝牙模块 从蓝牙4.0开始包含两 ...
- 【Bluetooth蓝牙开发】一、蓝牙开发入门
一.蓝牙开发入门 文章目录 一.蓝牙开发入门 1.蓝牙概念 2.蓝牙发展历程 3.蓝牙技术概述 3.1 Basic Rate(BR) 3.2 Low Energy(LE) 4.常见蓝牙架构 4.1 S ...
- 【Android】蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)
目录 目录 前言 一.相关概念介绍 二.实战开发 三.项目演示 四.Demo案例源码地址 五.更新记录 1.2020/12/29 :修改 setupService()中错误 2.2021/05/14 ...
- Android 蓝牙开发(二) --手机与蓝牙音箱配对,并播放音频
Android 蓝牙开发(一) – 传统蓝牙聊天室 Android 蓝牙开发(三) – 低功耗蓝牙开发 项目工程BluetoothDemo 上一章中,我们已经学习了传统蓝牙的开发,这一章,我们来学习如 ...
- 【Wifi】adb命令打开/关闭蓝牙、NFC(bluetooth)开关
谷歌源生代码中,第一次开机BT默认打开. 打开和关闭蓝牙BT adb root adb shell svc bluetooth enable adb shell svc bluetooth disab ...
- Android蓝牙开发前序知识-经典蓝牙低功耗蓝牙区别
最近从网上搜了(抄了)一些经典蓝牙和低功耗蓝牙的区别.关于蓝牙的大概了解,前文已经描述过了. Android中的蓝牙 说到Android中的蓝牙,大家听到的可能有蓝牙1.0.蓝牙2.0.蓝牙3.0.蓝 ...
- 【Bluetooth|蓝牙开发】二、蓝牙开发入门
个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! [所有文章汇总] 1.蓝牙基础概念 蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电 ...
- nimble 蓝牙开发一:BLE 蓝牙 Host 规范概述
目录 nimble 蓝牙开发一:概述 一.BLE 简介 二.BLE 基础知识 蓝牙设备地址 BLE 广播类型 标准广播数据 三.BLE 工作概述 BLE 常见的操作有: BLE 常见的工作流程: 四. ...
- ##**iOS蓝牙开发(一)蓝牙相关基础知识**
蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0 ...
最新文章
- 常用的第三方模块 Pillow url
- python之if经典语句_2. python学习之if条件语句
- MySQL查询报错ERROR:No query specified
- CF889E-Mod Mod Mod【dp】
- 算法提高 数的划分 动态规划 无序
- 云计算:大数据时代的系统工程
- 实时监控 轻松玩转IT运维
- 转 linux shell 数组建立及使用技巧
- qlabel显示图片同时鼠标点击画线_怎样将CAJ文档转成JPG图片?
- Android控件——HorizontalScrollView使用(一)
- 整数规划:分支定界法
- 使用图灵机器人api接口开发智能聊天机器人
- 安装win7时缺少所需的CDDVD驱动器设备驱动程序
- 大学计算机excel高级筛选,excel高级筛选的使用方法(入门 进阶 高级)
- 基线、底线、顶线、中线
- 计算机win10分区软件,完全不需要第三方工具!教你轻松调整Win10硬盘分区
- 鸟枪换炮读源码系列之ArrayList(java11)
- 我的世界刷猪人塔java版_我的世界速攻猪人塔详解 史上最牛的经验塔
- PowerDesigner 模型生成转化为sql脚本
- QQ、YY与webRTC回声消除效果对比分析与展望