蓝牙: 1、fromwork 2、service 3、driver
  • Bluetooth.apk
  • bluedroid(芯片厂家)
fromwork到service直接调用
service到driver利用service调用
fromwork到driver利用AIDL通信 相关代码位置: JB\packages\apps\Bluetooth\src\com\android\bluetooth
JB\frameworks\base\core\java\android\bluetooth
JB\frameworks\base\services\java\com\android\server
协议栈    JB\external\bluetooth\bluedroid

 /frameworks/base/core/java/android/bluetooth/目录下

     BluetoothA2dp.java A2DP的功能实现
     BluetoothAdapter.java 蓝牙action的定义,虚拟设备属性以及操作方法
     BluetoothAudioGateway.java 蓝牙语音网关
     BluetoothClass.java 蓝牙设备类型的定义
     BluetoothDevice.java 蓝牙设备属性
     BluetoothDevicePicker.java 定义远程蓝牙设备的特性,比如需要认证,设备类型
     BluetoothHeadset.java 定义蓝牙headset功能的属性以及接口
     BluetoothInputStream.java 蓝牙流接口的实现(输入流)
     BluetoothOutputStream.java 蓝牙流接口的实现(输出流)
     BluetoothServerSocket.java 蓝牙socket服务端具备的方法
     BluetoothSocket.java 蓝牙socket的封装
     BluetoothUuid.java 蓝牙uuid的定义以及uuid的解析

相关功能配置:     true a2dp设备   -------- 媒体音频     false   蓝牙 设备可以控制电话(健康设备)     false 一些免提设备     true hid设备  鼠标/键盘     true opp传输     false 蓝牙局域网功能     false  蓝牙车载设备自动下载手机内的电话本定义的一套协议     true ble蓝牙( 超低功耗 蓝牙     false     false     false BluetoothAdapter 常用接口:
1.  BluetoothAdapter   getDefaultAdapter(), 得到默认蓝牙设备 2. BluetoothDevice getRemoteDevice(String address) 根据地址得到远程设备 3. BluetoothDevice getRemoteDevice( byte [] address) 4. boolean  isEnabled() 蓝牙设备是否打开 5. int  getState()  得到状态 6. boolean  enable()打开蓝牙 7.   boolean  disable() 关闭蓝牙 8. boolean  disable( boolean  persist) 9.  String getAddress()得到地址 10. String getName() 得到名称 11. boolean  configHciSnoopLog( boolean  enable)  //enable or disable Bluetooth HCI snoop log. 12. public  ParcelUuid[] getUuids()  Get the UUIDs supported by the local Bluetooth adapter.  13. boolean  setName(String name)  设置蓝牙名称 14.   public   int  getScanMode()得到扫描模式 15. public   boolean  setScanMode( int  mode,  int  duration) 设置扫描模式 16. public   boolean  startDiscovery()  开始发现设备 17.   public   boolean  cancelDiscovery()  取消发现设备 18.   public   boolean  isDiscovering() 判断是否正在扫描 19.   public  Se t getBondedDevices() 得到绑定设备 20.   public   int  getConnectionState() 得到连接状态 21.   public   int  getProfileConnectionState( int   profile 22. public   static   boolean  checkBluetoothAddress(String address) 检查蓝牙地址
流程图:

更多相关文章

  1. Android之开发BLE 详细步骤
  2. android USB通信
  3. [Android] Nexus 7 二代连接 Windows 7
  4. 【Android休眠】之Android对PowerKey事件的处理(2)EventHub
  5. android 传感器使用与开发----方向传感器
  6. Android省市区3级联动的地址列表的实现
  7. AnDroidDraw.apk的安装
  8. Android开发:Android设备传感器开发总结
  9. Android(安卓)设置默认桌面,默认应用,辅助功能,电池优化,设备管

随机推荐

  1. Android(安卓)studio升级后ndk项目编译打
  2. Android 调用 Web Service
  3. android动画入门篇
  4. android:imeOptions 标签
  5. android 开发论坛资源URL
  6. 【Android】事件分发机制
  7. Android GPS学习笔记—LMS初始化
  8. Android开关机动画制作
  9. android中gps的使用以及解析nmea0183协议
  10. android 在调用执行了reboot系统层做部分