Android中蓝牙模块的
1.使用蓝牙的响应权限
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Android.permission.BLUETOOTH :
允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作;
android.permission.BLUETOOTH_ADMIN :
允许程序发现和配对蓝牙设备, 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作;
优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提, 如果没有BLUETOOTH权限, 就不能使用BLUETOOTH_ADMIN权限;
2.通过BluetoothAdapter设置本机的蓝牙
a.从systemService里面获取BluetoothManager
从BluetoothManager.getAdapter
或则
直接冲BluetoothAdapter的static 方法获取
BluetoothAdapter.getDefaultAdapter
//直接打开蓝牙
adapter.enable();
//直接关闭蓝牙
adapter.disable();
3.通过系统设置界面设置蓝牙
//直接打开系统的蓝牙设置面板,开启或则关闭
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent, 0x1);
可以在Activity中的onActivityResult()方法中处理结果, 如果蓝牙模块打开成功, 则返回结果吗RESULT_OK; 如果蓝牙模块打开失败, 则返回结果码RESULT_CANCELED;
4.开关状态值常量介绍
蓝牙关闭 : int STATE_OFF , 值为10, 蓝牙模块处于关闭状态;
蓝牙打开中 : int STATE_TURNING_ON , 值为11, 蓝牙模块正在打开;
蓝牙开启 : int STATE_ON , 值为12, 蓝牙模块处于开启状态;
蓝牙开启中 : int STATE_TURNING_OFF , 值为13, 蓝牙模块正在关闭;
蓝牙开关状态顺序 : STATE_OFF --> STATE_TURNING_ON --> STATE_ON --> STATE_TURNING_OFF --> STATE_OFF
打开和关闭蓝牙模块, 都可以通过ACTION_STATE_CHANGED广播来监听
5.//打开本机的蓝牙发现功能(默认打开120秒,可以将时间最多延长至300秒)
ACTION_REQUEST_DISCOVERABLE, 使蓝牙可见, 值为"android.bluetooth.adapter.action.REQUEST_DISCOVERABLE", 默认的可见时间为120s, 可以在广播中添加附加域, 设置任意的可见时间, 附加域为EXTRA_DISCOVERABLE_DURATION, 设置持续时间(最多300秒);需要BLUETOOTH权限;
可以在Activity中的onActivityResult()方法中处理结果, 如果蓝牙模块设置可见成功, 则返回结果吗RESULT_OK; 如果蓝牙模块设置可见失败, 则返回结果码RESULT_CANCELED;
[java] view plain copy
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivityForResult(discoverableIntent,resultCode) .
6.扫描状态值
无功能状态 : int SCAN_MODE_NONE , 值为20, 查询扫描和页面扫描都失效, 该状态下蓝牙模块既不能扫描其它设备, 也不可见;
扫描状态 : int SCAN_MODE_CONNECTABLE , 值为21, 查询扫描失效, 页面扫描有效, 该状态下蓝牙模块可以扫描其它设备, 从可见性来说只对已配对的蓝牙设备可见, 只有配对的设备才能主动连接本设备;
可见状态 : int SCAN_MODE_CONNECTABLE_DISCOVERABLE, 值为23, 查询扫描和页面扫描都有效;
查询扫描功能 : 其它设备可以扫描到本设备 , 指的是可见性可见;
页面扫描功能 : 可以主动扫描其它设备;
分享到:
相关推荐
android蓝牙开发简介
android蓝牙开发简介.pdf
我的博客“Android 蓝牙开发,蓝牙连打印机”有环境可运行截图。希望对大家有帮助,放心用吧。
android 蓝牙 耳机 开发
android蓝牙开发步骤.pdf
Android蓝牙开发客户端代码,必须配合服务器端进行操作,
android蓝牙开发---与蓝牙模块进行通信.pdfandroid蓝牙开发---与蓝牙模块进行通信.pdfandroid蓝牙开发---与蓝牙模块进行通信.pdfandroid蓝牙开发---与蓝牙模块进行通信.pdfandroid蓝牙开发---与蓝牙模块进行通信.pdf...
Android蓝牙开发
这个是配合文章android蓝牙开发,通过Sbbluetooth.aar文件连接蓝牙设备并上传与解析数据使用的框架包,如果有问题私聊我,
android 蓝牙开发源码2设置蓝牙的状态!
Android 蓝牙BLE全面解析以及智能车锁开发实例一、蓝牙BLE产生背景——蓝牙的发展历程 二、蓝牙BLE的基本概念 三、蓝牙BLE的架构介绍 1. 蓝牙BLE架构概览 2. 简述BLE如何发送数据包 2.1 广播方式 2.2 连接方式 四、...
android 蓝牙开发基础版
android 蓝牙开发源码,蓝牙扫描!
Android蓝牙开发整理知识
最近公司开发需要用到蓝牙,花了大约一天的时间总结整理了一下。主要是为了以后自己方便看。有需要的朋友可以看下。欢迎一起讨论。后面会带上博客。里面是实现了蓝牙搜索,配对,连接,数据互传。
Android 蓝牙开发 源码 希望对大家有帮助!
Android蓝牙串口开发指南
android蓝牙开发方面论文,文件格式caj,需要下载知网相关软件
Android蓝牙开发源代码,连接蓝牙打印机,打印标签、条码等。 Android 蓝牙打印机(ESC/POS 热敏打印机),打印小票和图片,对蓝牙配对和连接打印功能进行了封装,让你超快实现蓝牙打印功能。