Android中需要知道的蓝牙相关常识
来源:互联网 发布:淘宝拍片摄影棚租赁 编辑:程序博客网 时间:2024/05/29 03:53
首先蓝牙设备有很多种,需要区分蓝牙设备的类型,市面上主要的蓝牙设置有
蓝牙鼠标,键盘,游戏手柄等
蓝牙耳机 蓝牙音箱
可穿戴的蓝牙手环手表
蓝牙健康设备,电子秤等
因此技术上大体分为经典蓝牙和低功耗(Bluetooth Low Energy)蓝牙,低功耗蓝牙是在Android4.0以后才支持的,所以使用低功耗蓝牙时还得注意判断SDK的版本,另外现在市面上有的蓝牙设备是比较先进的(例如荣耀V8的手机)可以支持经典蓝牙和低功耗蓝牙(网上说之为单模模式和双模模式);
低功耗的蓝牙设备的相关开发完全和传统蓝牙不一样,内部都是通过一系列的回调进行操作,而公司要求适配的蓝牙游戏手柄应该属于传统蓝牙设备,准确来说是可输入设备(HID),毕竟传统的蓝牙也还可以继续再细分,综上,这里主要是谈谈适配蓝牙游戏手柄中用到的一些基本知识!
接口BluetoothProfile,蓝牙设备的配置文件
Profile的详细介绍可参考:http://blog.csdn.net/daydayupfromnowon/article/details/6041988
HidProfile 可输入设备的配置文件,实现了接口BluetoothProfile
HID设备(Hunman Interface Device Profile),即人机交互设备,常见的有鼠标,键盘,游戏手柄,蓝牙hid应该从android4.2开始支持的
OppProfile可传输文件蓝牙设备的配置文件,实现了接口BluetoothProfile
A2dpProfile第二代高质量音频设备的配置文件,实现了接口BluetoothProfile
HeadsetProfile蓝牙耳机类设备的配置文件,实现了接口BluetoothProfile
============用户操作蓝牙设备可能会遇到的问题===============================
扫描不到设备的可能原因有:
未将蓝牙设备设置为可见
与蓝牙设备的距离大于10米
蓝牙设备是否已经充满电
蓝牙设备的配套设备是否已经准备就绪
选择扫描设备的API不对
连接不到设备的可能原因有:
蓝牙设备已经配对了,未将设备取消配对
选择连接蓝牙设备的API不对
=============Android系统源码里蓝牙相关的模块代码(以公司的版本为例)=====================
一、版本里的蓝牙模块
路径:HiSTBAndroidV600R002C00SPC031\frameworks\base\core\java\android\bluetooth
类:BluetoothAdapter 访问蓝牙模块的入口,可开启和关闭蓝牙模块
类:BluetoothDevice 蓝牙设备的基本信息,包括设备名称,Mac地址等
类:BluetoothClass 蓝牙设备的详细信息,就是通过该类区分的各种蓝牙设备(手机,音箱可输入设备,健康设备等)
类:BluetoothInputDevice可输入的蓝牙设备
类:BluetoothProfile蓝牙设备的代理类,当然其中细分有多种蓝牙设备,对于不同种类的设备定义有相应的值
二、蓝牙APK
路径:HiSTBAndroidV600R002C00SPC031\packages\apps\Bluetooth
包:com.android.bluetooth
文件夹
a2dp
Map
Opp:下面的文件还比较多,都是蓝牙中文件传输需要用到的
活动:BluetoothOppLauncherActivity在蓝牙的文件传输中需要启动的界面
Pan
Hid
类:HidService 可输入设备的蓝牙代理中连接的就是该服务
三、设置APK
路径:HiSTBAndroidV600R002C00SPC031\packages\apps\Settings
包:com.android.settings.bluetooth设置中和蓝牙相关的都在这个包中
活动:DevicePickerActivity选择设备时需要启动的界面
碎片:DevicePickerFragment包含在上面的活动中
类:HidProfile可输入蓝牙设备的代理类
类:CachedBluetoothDevice 设置中描述蓝牙设备的类,在BluetoothDevice基础上封装的
类:BluetoothDevicePreference 第一个问题的答案就包含在该类的方法中
- Android中需要知道的蓝牙相关常识
- 工作生活中需要知道的常识名词
- 数据结构需要知道的基本轮廓常识
- Android开发中一些你需要知道的图片相关知识和网站推荐分享
- 关于蓝牙你不可不知道的几个基础常识
- BlueTooth: 关于蓝牙你不可不知道的几个基础常识
- BlueTooth: 关于蓝牙你不可不知道的几个基础常识
- 关于蓝牙你不可不知道的几个基础常识
- Android中你需要知道的(一)
- 开发者需要知道的11条HTML5小常识
- 开发者需要知道的11条HTML5小常识
- 开发者需要知道的11条HTML5小常识
- 关于dB,那些你需要知道的常识
- 【第一篇】Naza-lite入门需要知道的一些常识
- Android 蓝牙相关的东西
- Android 蓝牙相关的广播
- Android 蓝牙相关的广播
- 程序猿需要知道的相关知识
- JAVA是编译型的语言
- Linux_FastDFS 集群安装笔记
- 作为初学者对c3p0的简单理解
- android系统 main 函数
- 在centos 6.5中编译和安装FreeSwitch
- Android中需要知道的蓝牙相关常识
- JSON
- 简单几行js实现tab选项切换效果
- 音视频数据处理(21)--- H.264编码SPS、PPS介绍
- Android 当前Activity调节屏幕亮度
- iOS开发之禁止用户切换键盘(防止用户切换其它键盘)
- 监督学习
- 在VMware的Linux系统上安装Redis redis及memcache使用
- jquery map